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中关联模型查询选择性的字段

Mysql中查询A表m字段与B表n字段进行匹配不同

ThinkPHP的查询语句如何限定查询字段

YII2-数据库数据查询方法,关联查询with, joinWith区别和分页

yii2单表内字段关联查询该怎么做

thinkphp查询中对于数据库日期字段的限定