pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

  • <small id='bdGzS'></small><noframes id='bdGzS'>

      • <bdo id='bdGzS'></bdo><ul id='bdGzS'></ul>
    1. <tfoot id='bdGzS'></tfoot>

      <i id='bdGzS'><tr id='bdGzS'><dt id='bdGzS'><q id='bdGzS'><span id='bdGzS'><b id='bdGzS'><form id='bdGzS'><ins id='bdGzS'></ins><ul id='bdGzS'></ul><sub id='bdGzS'></sub></form><legend id='bdGzS'></legend><bdo id='bdGzS'><pre id='bdGzS'><center id='bdGzS'></center></pre></bdo></b><th id='bdGzS'></th></span></q></dt></tr></i><div class="blbx7dz" id='bdGzS'><tfoot id='bdGzS'></tfoot><dl id='bdGzS'><fieldset id='bdGzS'></fieldset></dl></div>

      1. <legend id='bdGzS'><style id='bdGzS'><dir id='bdGzS'><q id='bdGzS'></q></dir></style></legend>

        Laravel - Eloquent - 動態定義的關系

        Laravel - Eloquent - Dynamically defined relationship(Laravel - Eloquent - 動態定義的關系)
          <tbody id='kqAik'></tbody>
        <i id='kqAik'><tr id='kqAik'><dt id='kqAik'><q id='kqAik'><span id='kqAik'><b id='kqAik'><form id='kqAik'><ins id='kqAik'></ins><ul id='kqAik'></ul><sub id='kqAik'></sub></form><legend id='kqAik'></legend><bdo id='kqAik'><pre id='kqAik'><center id='kqAik'></center></pre></bdo></b><th id='kqAik'></th></span></q></dt></tr></i><div class="5rvllhb" id='kqAik'><tfoot id='kqAik'></tfoot><dl id='kqAik'><fieldset id='kqAik'></fieldset></dl></div>

          • <bdo id='kqAik'></bdo><ul id='kqAik'></ul>
            <legend id='kqAik'><style id='kqAik'><dir id='kqAik'><q id='kqAik'></q></dir></style></legend>

              <small id='kqAik'></small><noframes id='kqAik'>

                  <tfoot id='kqAik'></tfoot>
                1. 本文介紹了Laravel - Eloquent - 動態定義的關系的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                  問題描述

                  是否可以動態設置模型的關系?例如,我有模型 Page,我想在不實際更改其文件的情況下向其添加關系 banners()?那么是否存在這樣的事情:

                  Is it possible to set a model's relationship dynamically? For example, I have model Page, and I want to add relationship banners() to it without actually changing its file? So does something like this exist:

                  Page::createRelationship('banners', function(){
                      $this->hasMany('banners');
                  });
                  

                  或者類似的東西?由于它們無論如何都是使用魔術方法獲取的,也許我可以動態添加關系?

                  Or something similar? As they are fetched using the magic methods anyway, perhaps I can add the relationship dynamically?

                  謝謝!

                  推薦答案

                  我為此添加了一個包i-rocky/eloquent-dynamic-relation

                  如果有人仍在尋找解決方案,這里有一個.如果您認為這是個壞主意,請告訴我.

                  In case anyone still looking for a solution , here is one. If you think it's a bad idea, let me know.

                  trait HasDynamicRelation
                  {
                      /**
                       * Store the relations
                       *
                       * @var array
                       */
                      private static $dynamic_relations = [];
                  
                      /**
                       * Add a new relation
                       *
                       * @param $name
                       * @param $closure
                       */
                      public static function addDynamicRelation($name, $closure)
                      {
                          static::$dynamic_relations[$name] = $closure;
                      }
                  
                      /**
                       * Determine if a relation exists in dynamic relationships list
                       *
                       * @param $name
                       *
                       * @return bool
                       */
                      public static function hasDynamicRelation($name)
                      {
                          return array_key_exists($name, static::$dynamic_relations);
                      }
                  
                      /**
                       * If the key exists in relations then
                       * return call to relation or else
                       * return the call to the parent
                       *
                       * @param $name
                       *
                       * @return mixed
                       */
                      public function __get($name)
                      {
                          if (static::hasDynamicRelation($name)) {
                              // check the cache first
                              if ($this->relationLoaded($name)) {
                                  return $this->relations[$name];
                              }
                  
                              // load the relationship
                              return $this->getRelationshipFromMethod($name);
                          }
                  
                          return parent::__get($name);
                      }
                  
                      /**
                       * If the method exists in relations then
                       * return the relation or else
                       * return the call to the parent
                       *
                       * @param $name
                       * @param $arguments
                       *
                       * @return mixed
                       */
                      public function __call($name, $arguments)
                      {
                          if (static::hasDynamicRelation($name)) {
                              return call_user_func(static::$dynamic_relations[$name], $this);
                          }
                  
                          return parent::__call($name, $arguments);
                      }
                  }
                  

                  在您的模型中添加此特征,如下所示

                  Add this trait in your model as following

                  class MyModel extends Model {
                      use HasDynamicRelation;
                  }
                  

                  現在您可以使用以下方法添加新關系

                  Now you can use the following method to add new relationships

                  MyModel::addDynamicRelation('some_relation', function(MyModel $model) {
                      return $model->hasMany(SomeRelatedModel::class);
                  });
                  

                  這篇關于Laravel - Eloquent - 動態定義的關系的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

                  【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

                  相關文檔推薦

                  Deadlock exception code for PHP, MySQL PDOException?(PHP、MySQL PDOException 的死鎖異常代碼?)
                  PHP PDO MySQL scrollable cursor doesn#39;t work(PHP PDO MySQL 可滾動游標不起作用)
                  PHP PDO ODBC connection(PHP PDO ODBC 連接)
                  Using PDO::FETCH_CLASS with Magic Methods(使用 PDO::FETCH_CLASS 和魔術方法)
                  php pdo get only one value from mysql; value that equals to variable(php pdo 只從 mysql 獲取一個值;等于變量的值)
                  MSSQL PDO could not find driver(MSSQL PDO 找不到驅動程序)
                      <tbody id='7o8aS'></tbody>

                    1. <legend id='7o8aS'><style id='7o8aS'><dir id='7o8aS'><q id='7o8aS'></q></dir></style></legend>

                        <i id='7o8aS'><tr id='7o8aS'><dt id='7o8aS'><q id='7o8aS'><span id='7o8aS'><b id='7o8aS'><form id='7o8aS'><ins id='7o8aS'></ins><ul id='7o8aS'></ul><sub id='7o8aS'></sub></form><legend id='7o8aS'></legend><bdo id='7o8aS'><pre id='7o8aS'><center id='7o8aS'></center></pre></bdo></b><th id='7o8aS'></th></span></q></dt></tr></i><div class="djxljjn" id='7o8aS'><tfoot id='7o8aS'></tfoot><dl id='7o8aS'><fieldset id='7o8aS'></fieldset></dl></div>
                        <tfoot id='7o8aS'></tfoot>

                          <small id='7o8aS'></small><noframes id='7o8aS'>

                            <bdo id='7o8aS'></bdo><ul id='7o8aS'></ul>

                          • 主站蜘蛛池模板: 活性炭-蜂窝-椰壳-柱状-粉状活性炭-河南唐达净水材料有限公司 | 排烟防火阀-消防排烟风机-正压送风口-厂家-价格-哪家好-德州鑫港旺通风设备有限公司 | 环讯传媒,永康网络公司,永康网站建设,永康小程序开发制作,永康网站制作,武义网页设计,金华地区网站SEO优化推广 - 永康市环讯电子商务有限公司 | 骨密度仪-骨密度测定仪-超声骨密度仪-骨龄测定仪-天津开发区圣鸿医疗器械有限公司 | 上海电子秤厂家,电子秤厂家价格,上海吊秤厂家,吊秤供应价格-上海佳宜电子科技有限公司 | 立刷【微电签pos机】-嘉联支付立刷运营中心 | 镀锌钢格栅_热镀锌格栅板_钢格栅板_热镀锌钢格板-安平县昊泽丝网制品有限公司 | 西装定制/做厂家/公司_西装订做/制价格/费用-北京圣达信西装 | 济南网站建设_济南网站制作_济南网站设计_济南网站建设公司_富库网络旗下模易宝_模板建站 | 德州万泰装饰 - 万泰装饰装修设计软装家居馆 | 招商帮-一站式网络营销服务|搜索营销推广|信息流推广|短视视频营销推广|互联网整合营销|网络推广代运营|招商帮企业招商好帮手 | 土壤有机碳消解器-石油|表层油类分析采水器-青岛溯源环保设备有限公司 | 耐酸碱胶管_耐腐蚀软管总成_化学品输送软管_漯河利通液压科技耐油耐磨喷砂软管|耐腐蚀化学软管 | 篮球架_乒乓球台_足球门_校园_竞技体育器材_厂家_价格-沧州浩然体育器材有限公司 | 智能楼宇-楼宇自控系统-楼宇智能化-楼宇自动化-三水智能化 | 五轴加工中心_数控加工中心_铝型材加工中心-罗威斯 | 双效节能浓缩器-热回流提取浓缩机组-温州市利宏机械 | 中医中药治疗血小板减少-石家庄血液病肿瘤门诊部 | 换链神器官网-友情链接交换、购买交易于一体的站长平台 | 抖音短视频运营_企业网站建设_网络推广_全网自媒体营销-东莞市凌天信息科技有限公司 | 数码管_LED贴片灯_LED数码管厂家-无锡市冠卓电子科技有限公司 | 印刷人才网 印刷、包装、造纸,中国80%的印刷企业人才招聘选印刷人才网! | 铆钉机|旋铆机|东莞旋铆机厂家|鸿佰专业生产气压/油压/自动铆钉机 | 土壤有机碳消解器-石油|表层油类分析采水器-青岛溯源环保设备有限公司 | 无锡装修装潢公司,口碑好的装饰装修公司-无锡索美装饰设计工程有限公司 | 高光谱相机-近红外高光谱相机厂家-高光谱成像仪-SINESPEC 赛斯拜克 | 懂研帝_专业SCI论文润色机构_SCI投稿发表服务公司 | 塑胶跑道_学校塑胶跑道_塑胶球场_运动场材料厂家_中国塑胶跑道十大生产厂家_混合型塑胶跑道_透气型塑胶跑道-广东绿晨体育设施有限公司 | 江苏全风,高压风机,全风环保风机,全风环形高压风机,防爆高压风机厂家-江苏全风环保科技有限公司(官网) | 冷藏车-东风吸污车-纯电动环卫车-污水净化车-应急特勤保障车-程力专汽厂家-程力专用汽车股份有限公司销售二十一分公司 | 旋转/数显粘度计-运动粘度测定仪-上海平轩科学仪器 | 礼仪庆典公司,礼仪策划公司,庆典公司,演出公司,演艺公司,年会酒会,生日寿宴,动工仪式,开工仪式,奠基典礼,商务会议,竣工落成,乔迁揭牌,签约启动-东莞市开门红文化传媒有限公司 | 南方珠江-南方一线电缆-南方珠江科技电缆-南方珠江科技有限公司 南汇8424西瓜_南汇玉菇甜瓜-南汇水蜜桃价格 | 登车桥动力单元-非标液压泵站-非标液压系统-深圳市三好科技有限公司 | 万烁建筑设计院-建筑设计公司加盟,设计院加盟分公司,市政设计加盟 | 长沙中央空调维修,中央空调清洗维保,空气能热水工程,价格,公司就找维小保-湖南维小保环保科技有限公司 | 金属软管_不锈钢金属软管_巩义市润达管道设备制造有限公司 | 氮化镓芯片-碳化硅二极管 - 华燊泰半导体 | 亳州网络公司 - 亳州网站制作 - 亳州网站建设 - 亳州易天科技 | 撕碎机_轮胎破碎机_粉碎机_回收生产线厂家_东莞华达机械有限公司 | ERP企业管理系统永久免费版_在线ERP系统_OA办公_云版软件官网 |