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

          <bdo id='8e1kg'></bdo><ul id='8e1kg'></ul>
      1. <small id='8e1kg'></small><noframes id='8e1kg'>

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

      2. <tfoot id='8e1kg'></tfoot>
      3. <legend id='8e1kg'><style id='8e1kg'><dir id='8e1kg'><q id='8e1kg'></q></dir></style></legend>
      4. Laravel 變形關系

        Laravel morph relationship(Laravel 變形關系)

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

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

            <legend id='w3Vup'><style id='w3Vup'><dir id='w3Vup'><q id='w3Vup'></q></dir></style></legend>
              <tfoot id='w3Vup'></tfoot>
                  <bdo id='w3Vup'></bdo><ul id='w3Vup'></ul>
                  本文介紹了Laravel 變形關系的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                  問題描述

                  我有一個關于在 Laravel 中保存多態關系的問題.這是我想在 Laravel 中創建的模型.

                  I have a question regarding saving polymorphic relationships in Laravel. This is the model i would like to create in laravel.

                  一家商店有很多產品,一個產品可以是物品"、事件"或服務".

                  A shop has many products, and a product can be either an "item" an "event" or a "service".

                  我有以下表格:

                  • 商店
                    • id
                    • user_id
                    • 姓名
                    • id
                    • 公開
                    • 標題
                    • 說明
                    • id
                    • shop_id
                    • productable_id
                    • productable_type

                    這是我設置模型的方式:

                    This is how i set up the models:

                    class Shop extends Model{
                        public function products(){
                            return $this->hasMany('AppProduct');
                        }
                    }
                    
                    class Product extends Model{
                        public function productable(){
                            return $this->morphTo();   
                        }
                    }
                    
                    class Event extends Model{
                        public function product(){
                            return $this->morphOne('AppProduct','productable');
                        }
                    }
                    

                    我希望能夠做到以下幾點:

                    I want to be able to do the following:

                    $shop = Shop::first()
                    $event = Event::create(['title'=>'Some event']);
                    $service = Service::create(['title' => 'Some service']);
                    $shop->products()->save($event);
                    $shop->products()->save($service);
                    

                    但它不起作用!當我嘗試保存我得到的關系時:

                    But it doesn't work! When i try to save the relation i get:

                    IlluminateDatabaseQueryException with message 'SQLSTATE[HY000]: General error: 1 no such column: shop_id (SQL: update "accendo_events" set "updated_at" = 2016-11-26 10:11:02, "shop_id" = 1 where "id" = 1)'
                    

                    有人知道這是哪里出了問題嗎?我可能對這種關系有些誤解...

                    Anyone have an idea of where this is going wrong? I probably misunderstood something about this type of relationship...

                    推薦答案

                    首先從 Product Model 添加到 Shop 的后臺關系

                    First of all add a back relation to Shop from Product Model

                        class Shop extends Model
                        {
                          public function products()
                          {
                            return $this->hasMany('AppProduct');
                          }
                        }
                    
                        class Product extends Model
                        {
                          public function shop()
                          {
                            return $this->belongsTo('AppShop');
                          }
                    
                          public function productable()
                          {
                            return $this->morphTo();
                          }
                        }
                    
                        class Event extends Model
                        {
                          public function product()
                          {
                            return $this->morphOne('AppProduct', 'productable');
                          }
                        }
                    
                    

                    現在,我不確定您為什么要嘗試創建一個空事件并將其添加到所有產品中,但是如果您想為任何用例執行此操作...請遵循以下方法...:)

                    Now, I am not sure why you are trying to make an empty event and add it to all the products, but still if you want to do it for whatever use cases... please follow the below approach... :)

                    $shop = Shop::first();            //or $shop = Shop::find(1);
                    
                    foreach($shop->products as $product) {
                      $event = Event::create([]);
                      $service = Service::create([]);
                    
                      $product->productable()->saveMany([
                        $event, $service
                      ]);
                    }
                    

                    如果有什么不起作用,請在下面的評論中告訴我:)

                    Let me know in the comments below if something doesn't work :)

                    首先,請理解您不能從 hasMany() 關系中向 productable_idproductable_type 添加條目.您需要確保為此目的使用 morph 關系.

                    First of all, please understand that you can not add an entry to productable_id or productable_type from a hasMany() relation. You need to make sure you are using a morph relation for such purposes.

                    其次,由于您嘗試先添加產品而不是先添加事件,因此插入方法對您不起作用.請注意,您必須先嘗試創建活動或服務,然后再嘗試與商店關聯.

                    Secondly, since you are trying to add products first and not events first, the insertion method is not working out for you. Please note that you must try to create an Event or Service first and then try to associate with a shop.

                    最簡單的方法是

                    $shop = Shop::first();
                    
                    $event = Event::create(['title' => 'Some Event']);
                    $event->product()->create(['shop_id' => $shop->id]);
                    
                    $service = Service::create(['title' => 'Some Service']);
                    $service->product()->create(['shop_id' => $shop->id]);
                    

                    您也可以嘗試遵循我的第一種方法,但我剛才提到的方法肯定可以工作...實際上這就是插入/創建的方式.

                    You can also, try to follow my first approach, but the one I just mentioned is definitely supposed to work... and actually that is how it is meant to be inserted/created.

                    這篇關于Laravel 變形關系的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持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 找不到驅動程序)

                    <small id='9wQPk'></small><noframes id='9wQPk'>

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

                          <tbody id='9wQPk'></tbody>
                        <legend id='9wQPk'><style id='9wQPk'><dir id='9wQPk'><q id='9wQPk'></q></dir></style></legend>

                          • 主站蜘蛛池模板: 上海单片机培训|重庆曙海培训分支机构—CortexM3+uC/OS培训班,北京linux培训,Windows驱动开发培训|上海IC版图设计,西安linux培训,北京汽车电子EMC培训,ARM培训,MTK培训,Android培训 | 熔体泵_熔体出料泵_高温熔体泵-郑州海科熔体泵有限公司 | 彼得逊采泥器-定深式采泥器-电动土壤采样器-土壤样品风干机-常州索奥仪器制造有限公司 | 不锈钢电动球阀_气动高压闸阀_旋塞疏水调节阀_全立阀门-来自温州工业阀门巨头企业 | 上海小程序开发-小程序制作-上海小程序定制开发公司-微信商城小程序-上海咏熠 | 回转窑-水泥|石灰|冶金-巩义市瑞光金属制品有限责任公司 | 隧道烘箱_隧道烘箱生产厂家-上海冠顶专业生产烘道设备 | 长沙印刷厂-包装印刷-画册印刷厂家-湖南省日大彩色印务有限公司 青州搬家公司电话_青州搬家公司哪家好「鸿喜」青州搬家 | 水厂自动化|污水处理中控系统|水利信息化|智慧水务|智慧农业-山东德艾自动化科技有限公司 | 超声骨密度仪-骨密度检测仪-经颅多普勒-tcd仪_南京科进实业有限公司 | 不锈钢水箱生产厂家_消防水箱生产厂家-河南联固供水设备有限公司 | 北京模型公司-工业模型-地产模型-施工模型-北京渝峰时代沙盘模型制作公司 | 广西绿桂涂料--承接隔热涂料、隔音涂料、真石漆、多彩仿石漆等涂料工程双包施工 | 石油/泥浆/不锈钢防腐/砂泵/抽砂泵/砂砾泵/吸砂泵/压滤机泵 - 专业石油环保专用泵厂家 | 液压油缸生产厂家-山东液压站-济南捷兴液压机电设备有限公司 | 锂电池砂磨机|石墨烯砂磨机|碳纳米管砂磨机-常州市奥能达机械设备有限公司 | 安规_综合测试仪,电器安全性能综合测试仪,低压母线槽安规综合测试仪-青岛合众电子有限公司 | 企小优-企业数字化转型服务商_网络推广_网络推广公司 | 玻璃钢型材-玻璃钢风管-玻璃钢管道,生产厂家-[江苏欧升玻璃钢制造有限公司] | 动物麻醉机-数显脑立体定位仪-北京易则佳科技有限公司 | SMC-SMC电磁阀-日本SMC气缸-SMC气动元件展示网 | 重庆中专|职高|技校招生-重庆中专招生网 | 长信科技产业园官网_西安厂房_陕西标准工业厂房| 砍排机-锯骨机-冻肉切丁机-熟肉切片机-预制菜生产线一站式服务厂商 - 广州市祥九瑞盈机械设备有限公司 | 磁力加热搅拌器-多工位|大功率|数显恒温磁力搅拌器-司乐仪器官网 | DDoS安全防护官网-领先的DDoS安全防护服务商 | 消电检公司,消电检价格,北京消电检报告-北京设施检测公司-亿杰(北京)消防工程有限公司 | 农产品溯源系统_农产品质量安全追溯系统_溯源系统 | 二手Sciex液质联用仪-岛津气质联用仪-二手安捷伦气质联用仪-上海隐智科学仪器有限公司 | 新型锤式破碎机_新型圆锥式_新型颚式破碎机_反击式打沙机_锤式制砂机_青州建源机械 | 高中学习网-高考生信息学习必备平台 | 篷房|仓储篷房|铝合金篷房|体育篷房|篷房厂家-华烨建筑科技官网 知名电动蝶阀,电动球阀,气动蝶阀,气动球阀生产厂家|价格透明-【固菲阀门官网】 | 真空泵厂家_真空泵机组_水环泵_旋片泵_罗茨泵_耐腐蚀防爆_中德制泵 | 贝壳粉涂料-内墙腻子-外墙腻子-山东巨野七彩贝壳漆业中心 | 成都办公室装修-办公室设计-写字楼装修设计-厂房装修-四川和信建筑装饰工程有限公司 | 集菌仪厂家_全封闭_封闭式_智能智能集菌仪厂家-上海郓曹 | 电伴热系统施工_仪表电伴热保温箱厂家_沃安电伴热管缆工业技术(济南)有限公司 | 特材真空腔体_哈氏合金/镍基合金/纯镍腔体-无锡国德机械制造有限公司 | 尾轮组_头轮组_矿用刮板_厢式刮板机_铸石刮板机厂家-双驰机械 | 合肥废气治理设备_安徽除尘设备_工业废气处理设备厂家-盈凯环保 合肥防火门窗/隔断_合肥防火卷帘门厂家_安徽耐火窗_良万消防设备有限公司 | 右手官网|右手工业设计|外观设计公司|工业设计公司|产品创新设计|医疗产品结构设计|EMC产品结构设计 |