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表全部字段了.



原文地址:https://www.cnblogs.com/sgm4231/p/9639620.html

时间: 2025-01-10 08:51:39

laravel 中with关联查询限定查询字段的相关文章

portal开发怎么配置一个新增按钮,同时在“新增按钮”中配置关联表的查询(四)

我在配置这个东西的时候主要的问题是卡在哪里呢? 就看到看懂那个.wd文件 1 <Models> 2 <Datasets> 3 <RefMdDataset caption="HR部门" controlwidgetopeStatus="false" enabled="false" id="$refds_hrjf_hrdept" lazyLoad="true" notNullBody

sql 简单查询,限定查询及排序

SQL(structured Query Language  结构化查询语言)是一种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理关系数据库系统. SQL语言包含4个部分: ※数据定义语言(DDL),例如:CREATE.DROP.ALTER等语句. ※数据操作语言(DML),例如:INSERT.UPDATE.DELETE语句. ※数据查询语言(DQL),例如:SELECT语句. ※数据控制语言(DCL),例如:GRANT.REVOKE.COMMIT.ROLLBACK等语句. 简单查询

SQL两表关联查询&批量修改字段值

SQL关联查询&修改字段,正确范例如下: --批量修改报告单位名称&更新时间 --tt和tp两表关联查询,将符合条件的tt表中的principal字段更新到tp表的ruperson字段 merge into nhis34.t_publicplaces tp using standard.t_organization tt on (tt.orgcode = tp.r_orgcode and tp.create_time > '2015-05-07 00:00:00') when mat

Mysql中的关联查询(内连接,外连接,自连接)

Mysql中的关联查询(内连接,外连接,自连接) 在使用数据库查询语句时,单表的查询有时候不能满足项目的业务需求,在项目开发过程中,有很多需求都是要涉及到多表的连接查询,总结一下mysql中的多表关联查询 一,内连接查询 是指所有查询出的结果都是能够在连接的表中有对应记录的. 以t_employee(员工表)和t_dept(部门表)为例: t_employee表中的记录如下:dept代表该员工所在的部门 t_dept表中记录如下: 可以发现,其中人力资源部里没有员工(这里只是举例,可能与实际不符

mybatis中的关联查询

1>在实体映射层中引入关联对象 package com.jinglin.hotelsup.model; import java.io.Serializable; public class Goodsinfo implements Serializable{ private Integer goodsid; private Integer companyid; private Integer goodstypeid; private Integer unitid; private String c

查询出menupath字段中 出现 “- &quot;(横杆)大于3次的 记录

表明为productclass    我想查询出menupath字段中 出现 “- "(横杆)大于3次的 记录 答:1  select from productclass  where menupath  REGEXP '[[:digit:]]+-[[:digit:]]+-[[:digit:]]+-'  这样就可以 不过不建议用正则查询出menupath字段中 出现 “- "(横杆)大于3次的 记录 2 select * from productclass   where length

mybatis中的关联对象查询

方式1(嵌套查询): 在本类的mapper映射配置文件中的ResultMap标签中使用association子标签,对关联对象的属性进行关联 例如:User中关联Department(多对一) ----------User的mapper映射配置文件---------<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Map

laravel中查询数据结果集变为数组

在laravel中,查询数据库后,返回的对象,可以用下面的办法变为数组 $nodes = Db::table('system_node')->orderBy('sort', 'asc')->orderBy('id' ,'asc')->get()->map(function ($value) { return (array)$value; })->toArray();

操作Android中联系人,通话记录,短息,的URI,和具体的查询语句,字段注解。(根据自己需求)

记住读取联系人需要配置权限:<uses-permission android:name="android.permission.READ_CONTACTS" /> <uses-permission android:name="android.permission.WRITE_CONTACTS" /> 读取联系人的URI: /** * 所有联系人的查询语句 * cotacts2联系人数据库中 * 与联系人相关的几张数据表 * contacts