【发布时间】:2018-04-11 14:43:08
【问题描述】:
我有两个表,我想使用两个日期时间列的值运行联合查询,我有 products 表和 sync_status 表,我想返回 updated_at 日期时间大于 synced_at 日期时间的所有产品。
DB::table('products')
->join('sync_statuses', function ($join) {
$join->on('products.product_number', '=', 'sync_statuses.product_number')
->where('products.updated_at', '>', 'sync_statuses.synced_at')
->whereNull('products.deleted_at');
})
->select('products.product_number');
这个 SQL 代表了我试图使用 Eloquent 实现的目标:
SELECT products.product_number
FROM products
JOIN push_statuses
ON products.product_number = statuses.product_number
AND (
statuses.synced_at IS NULL
OR products.updated_at > statuses.synced_at
)
【问题讨论】:
标签: laravel eloquent laravel-eloquent