laravel 中with关联查询限定查询字段

Posted 心之所依

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了laravel 中with关联查询限定查询字段相关的知识,希望对你有一定的参考价值。

学习了下laravel5.6框架,果然很优雅,比如ActiveJieSuan model中作如下关联:(laravel模型关联关系可以查看https://laravelacademy.org/post/8867.html

   只需在ActiveJieSuan 模型中设定

protected $with = [\'user\',\'actice\'];
那么查询ActiveJieSuan就能自动关联上users,actice_contents表。

如果要限定关联查询的字段,可以如下写法:
ActiveJieSuan::with([\'user\' => function ($query) {$query->select(\'id\',\'name\');},
   \'active\'=> function ($query) {$query->select(\'id\',\'name\',\'start\');}])
->paginate()->toArray();
如此限定后查询的结果就只是users表中的id和name字段,active_contents表中的id,name,start字段和active_jiesuan表全部字段了.
更简洁的写法:
ActiveJieSuan::with([\'user:id,name\',\'active:id,name,start\']) ->paginate()->toArray();


以上是关于laravel 中with关联查询限定查询字段的主要内容,如果未能解决你的问题,请参考以下文章

laravel中关联模型查询选择性的字段

laravel ORM 模型关联 with () 用法

Laravel 模型关联建立与查询

Laravel关联查询将一个字段中以逗号分隔的取出来形成新的字段

laravel5 一对多关联 如何在页面上显示当前查询表有关表的某一字段

laravel关联查询,同时返回关联表和被关联表的信息,怎么做