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

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

      <tfoot id='DEjag'></tfoot>

      1. <small id='DEjag'></small><noframes id='DEjag'>

          <bdo id='DEjag'></bdo><ul id='DEjag'></ul>

        <legend id='DEjag'><style id='DEjag'><dir id='DEjag'><q id='DEjag'></q></dir></style></legend>

        帶有一些約束的 Eloquent 嵌套關系

        Eloquent Nested Relation with Some Constraint(帶有一些約束的 Eloquent 嵌套關系)

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

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

                <legend id='CJ7RA'><style id='CJ7RA'><dir id='CJ7RA'><q id='CJ7RA'></q></dir></style></legend>

                  <tfoot id='CJ7RA'></tfoot>
                    <tbody id='CJ7RA'></tbody>
                  本文介紹了帶有一些約束的 Eloquent 嵌套關系的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                  問題描述

                  我有以下三個表:

                  A
                  -------------
                  | id | name |
                  -------------
                  
                  B
                  --------------------
                  | id | A_id | name |
                  --------------------
                  
                  C
                  --------------------
                  | id | B_id | name |
                  --------------------
                  

                  所以,C表的數據屬于B表的數據,A表的數據.現在,我想查詢 C,同時還從 BA 檢索數據,下面的代碼可以很好地解決問題.

                  So, the data in table C belongs to the data in table B which belongs to the data in table A. Now, I want to query C, while also retrieving data from B and A and the following code does the trick just fine.

                  C::with('B.A')->get();
                  

                  現在的問題是,我想用一些約束來查詢 C.這些約束之一是Aid.我嘗試了以下方法:

                  The problem now, is that I want to query C with some constraints. One of these constraints is the id of A. I've tried the following:

                  C::with(array('B.A' => function ($query)
                  {
                      $query->where('id', '=', $constraint);
                  }))->get();
                  

                  但似乎 Eloquent 會檢索 C 中的所有行,甚至不考慮約束,除非它執行查詢以檢索表 A 中的數據.我該如何解決這個問題?我是否需要在 C 中添加另一個字段,即 A_id,并將 $constraint 與該字段匹配?

                  But it seems that Eloquent will retrieve all the rows in C without even taking the constraint into account, except when it's executing the query to retrieve data in table A. How do I get around this problem? Do I need to add another field in C, that is A_id, and match $constraint against that field?

                  推薦答案

                  您將 with() 方法與 SQL 的 JOIN 混淆,這種情況經常發生.

                  You are confusing the with() method with SQL's JOIN and that happens a lot.

                  >

                  首先介紹一下背景

                  當你使用 Foo::with('bar')->where_something(1) 時,Laravel 將首先加載 Foo 然后,基于 Foo.bar_id,它將加載Bar.它的目的是告訴 Laravel 在組合查詢上預先加載模型的依賴項,從而大大提高這些模型的迭代性能.

                  When you use Foo::with('bar')->where_something(1), Laravel will first load the Foo and then, based on Foo.bar_id, it will load the Bar. It serves the purpose of telling Laravel to eager load dependencies of your model on a combined query, greatly improving performance of iterations on those models.

                  如果你不使用它,應該執行以下查詢:

                  If you don't use it, the following queries should be executed:

                  SELECT * FROM foos WHERE foos.something = 1;
                  SELECT * FROM bars WHERE bars.id = 30;
                  SELECT * FROM bars WHERE bars.id = 57;
                  SELECT * FROM bars WHERE bars.id = 134;
                  SELECT * FROM bars WHERE bars.id = 1096;
                  

                  另一方面,如果你使用它:

                  If you use it, on the other hand:

                  SELECT * FROM foos WHERE foos.something = 1;
                  SELECT * FROM bars WHERE bars.id IN (30, 57, 134, 1096); // Eager loading
                  

                  當您向 with() 添加條件時,您只會限制這些依賴項的預加載,而不是第一個查詢.

                  When you add a condition to that with(), you are only constraining the eager loading of those dependencies, and not the first query.

                  要實現您想要的,您需要使用 ->join().

                  To achieve what you want, you'll need to use ->join().

                  C::with(array('b', 'b.a'))
                   ->join('b', 'b.id', '=', 'c.b_id')
                   ->join('a', 'a.id', '=', 'b.a_id')
                   ->where('a.id', '=', $ID)
                   ->get('c.*');
                  

                  我已經包含了 with(),因為我不知道您是否需要訪問 $c->b->a.如果你不這樣做,而你只需要 $c 數據,你可以刪除 with() 因為它會不必要地查詢 B 和 A.

                  I've included the with(), because I didn't know if you would need to access $c->b->a. If you don't, and you just need $c data, you can remove the with() since it will query for B's and A's unnecessarily.

                  這篇關于帶有一些約束的 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 找不到驅動程序)

                  <legend id='l2qUW'><style id='l2qUW'><dir id='l2qUW'><q id='l2qUW'></q></dir></style></legend>

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

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

                      <tbody id='l2qUW'></tbody>

                        • <bdo id='l2qUW'></bdo><ul id='l2qUW'></ul>
                            主站蜘蛛池模板: 物流公司电话|附近物流公司电话上门取货 | 软文发布-新闻发布推广平台-代写文章-网络广告营销-自助发稿公司媒介星 | 裹包机|裹膜机|缠膜机|绕膜机-上海晏陵智能设备有限公司 | 武汉不干胶印刷_标签设计印刷_不干胶标签印刷厂 - 武汉不干胶标签印刷厂家 | 渣油泵,KCB齿轮泵,不锈钢齿轮泵,重油泵,煤焦油泵,泊头市泰邦泵阀制造有限公司 | 暴风影音| 探伤仪,漆膜厚度测试仪,轮胎花纹深度尺厂家-淄博创宇电子 | 洗砂机械-球磨制砂机-洗沙制砂机械设备_青州冠诚重工机械有限公司 | 大功率金属激光焊接机价格_不锈钢汽车配件|光纤自动激光焊接机设备-东莞市正信激光科技有限公司 定制奶茶纸杯_定制豆浆杯_广东纸杯厂_[绿保佳]一家专业生产纸杯碗的厂家 | 合肥汽车充电桩_安徽充电桩_电动交流充电桩厂家_安徽科帝新能源科技有限公司 | 胜为光纤光缆_光纤跳线_单模尾纤_光纤收发器_ODF光纤配线架厂家直销_北京睿创胜为科技有限公司 - 北京睿创胜为科技有限公司 | 广东高华家具-公寓床|学生宿舍双层铁床厂家【质保十年】 | 碳刷_刷握_集电环_恒压簧_电刷厂家-上海丹臻机电科技有限公司 | 天津云仓-天津仓储物流-天津云仓一件代发-顺东云仓 | 美侍宠物-专注宠物狗及宠物猫训练|喂养|医疗|繁育|品种|价格 | 企业微信营销_企业微信服务商_私域流量运营_艾客SCRM官网 | 合肥角钢_合肥槽钢_安徽镀锌管厂家-昆瑟商贸有限公司 | 北京征地律师,征地拆迁律师,专业拆迁律师,北京拆迁律师,征地纠纷律师,征地诉讼律师,征地拆迁补偿,拆迁律师 - 北京凯诺律师事务所 | H型钢切割机,相贯线切割机,数控钻床,数控平面钻,钢结构设备,槽钢切割机,角钢切割机,翻转机,拼焊矫一体机 | 粉末冶金注射成型厂家|MIM厂家|粉末冶金齿轮|MIM零件-深圳市新泰兴精密科技 | 智慧食堂_食堂管理系统_食堂订餐_食堂消费系统—客易捷 | 手术室净化厂家-成都做医院净化工程的公司-四川华锐-15年特殊科室建设经验 | 胶原检测试剂盒,弹性蛋白检测试剂盒,类克ELISA试剂盒,阿达木单抗ELISA试剂盒-北京群晓科苑生物技术有限公司 | 金属清洗剂,防锈油,切削液,磨削液-青岛朗力防锈材料有限公司 | 天一线缆邯郸有限公司_煤矿用电缆厂家_矿用光缆厂家_矿用控制电缆_矿用通信电缆-天一线缆邯郸有限公司 | 润滑油加盟_润滑油厂家_润滑油品牌-深圳市沃丹润滑科技有限公司 琉璃瓦-琉璃瓦厂家-安徽盛阳新型建材科技有限公司 | led全彩屏-室内|学校|展厅|p3|户外|会议室|圆柱|p2.5LED显示屏-LED显示屏价格-LED互动地砖屏_蕙宇屏科技 | 禹城彩钢厂_钢结构板房_彩钢复合板-禹城泰瑞彩钢复合板加工厂 | 精密五金加工厂-CNC数控车床加工_冲压件|蜗杆|螺杆加工「新锦泰」 | 聚合甘油__盐城市飞龙油脂有限公司| 塑料瓶罐_食品塑料瓶_保健品塑料瓶_调味品塑料瓶–东莞市富慷塑料制品有限公司 | 附着力促进剂-尼龙处理剂-PP处理剂-金属附着力处理剂-东莞市炅盛塑胶科技有限公司 | 皮带输送机-大倾角皮带输送机-皮带输送机厂家-河南坤威机械 | 蒜肠网-动漫,二次元,COSPLAY,漫展以及收藏型模型,手办,玩具的新媒体.(原变形金刚变迷TF圈) | 注塑模具_塑料模具_塑胶模具_范仕达【官网】_东莞模具设计与制造加工厂家 | 特种阀门-调节阀门-高温熔盐阀-镍合金截止阀-钛阀门-高温阀门-高性能蝶阀-蒙乃尔合金阀门-福建捷斯特阀门制造有限公司 | 水厂自动化|污水处理中控系统|水利信息化|智慧水务|智慧农业-山东德艾自动化科技有限公司 | 连栋温室大棚建造厂家-智能玻璃温室-薄膜温室_青州市亿诚农业科技 | 煤矿支护网片_矿用勾花菱形网_缝管式_管缝式锚杆-邯郸市永年区志涛工矿配件有限公司 | 电磁辐射仪-电磁辐射检测仪-pm2.5检测仪-多功能射线检测仪-上海何亦仪器仪表有限公司 | 分子精馏/精馏设备生产厂家-分子蒸馏工艺实验-新诺舜尧(天津)化工设备有限公司 |