商务网站设计,服务器主机 网站吗,怎么在网站上添加地图,品牌规划例子
从 vendors 表中选择记录。在 vendors 表中#xff0c;筛选出具有满足以下条件的 vendor_code 值#xff1a; 对应的采购订单#xff08;在 po_headers_all 表中#xff09;存在未完全接收的采购行#xff08;在 po_lines_all 表中#xff09;。相应的采购订单状态… 例子
从 vendors 表中选择记录。在 vendors 表中筛选出具有满足以下条件的 vendor_code 值 对应的采购订单在 po_headers_all 表中存在未完全接收的采购行在 po_lines_all 表中。相应的采购订单状态为 已签核。采购行的数量大于已接收数量。查询结果按照 vendor_code 字段降序排列并限制返回的结果集的起始位置和数量。
代码
$data[all_info] Db::table(vendors)-alias(d)-whereExists(function ($query) {$query-table(po_headers_all)-alias(a)-join([po_lines_allb], a.po_num b.po_num)-where(b.quantity, , Db::raw(b.quantity_received))-where(a.status, 已签核)-where(a.vendor_code d.vendor_code);})-order(vendor_code, desc)-limit($start,$pageSize)-select();
逐句解析 $data[all_info] Db::table(vendors): 创建了一个变量 $data[all_info]用于存储查询结果。使用 Db::table(vendors) 指定了要查询的数据表为 vendors。 -alias(d): 使用别名 d 来表示数据表 vendors。 -whereExists(function ($query) { ... }): 使用 whereExists 方法来指定一个子查询。子查询中的条件将用来检查是否存在满足条件的记录。 $query-table(po_headers_all)-alias(a): 在子查询中指定要查询的数据表为 po_headers_all并使用别名 a 来表示该表。 -join([po_lines_allb], a.po_num b.po_num): 将数据表 po_headers_all 与 po_lines_all 进行连接连接条件是 a.po_num b.po_num。 -where(b.quantity, , Db::raw(b.quantity_received)): 在连接后的数据表中添加条件 b.quantity b.quantity_received。这个条件用来筛选数量未完全接收的记录。 -where(a.status, 已签核): 添加条件 a.status 已签核用来筛选状态为 已签核 的记录。 -where(a.vendor_code d.vendor_code): 添加条件 a.vendor_code d.vendor_code将子查询中的 vendor_code 与主查询中的 vendor_code 进行比较以确保查询结果中的记录是符合条件的。 -order(vendor_code, desc): 根据 vendor_code 字段降序排序查询结果。 -limit($start, $pageSize): 指定查询结果的分页限制从 $start 开始取 $pageSize 条记录。 -select(): 执行查询操作获取符合条件的记录并将结果返回给变量 $data[all_info]。 查询总数量同理注去掉了限制条件
$data[total] Db::table(vendors)-alias(d)-whereExists(function ($query) {$query-table(po_headers_all)-alias(a)-join([po_lines_allb], a.po_num b.po_num)-where(b.quantity, , Db::raw(b.quantity_received))-where(a.status, 已签核)-where(a.vendor_code d.vendor_code);})-count();