这是我的 MYSQL 查询:
SELECT product_tasks.id AS product_task_id,
tasks.id AS tasks_id,
tasks.task_name AS label,
tasks.serial_id AS serial_id,
(SELECT serials.starting_series
FROM serials
WHERE serials.id = serial_id) AS starting_series
FROM product_tasks
JOIN tasks ON tasks.id = product_tasks.task_id
WHERE product_tasks.product_id = 1;
这是我 Eloquent 查询,但我还没有完成:
ProductTask::select('product_tasks.id as product_task_id',
'tasks.id as tasks_id', 'tasks.task_name as label',
'tasks.serial_id as serial_id', * INSERT missing query here *)
->JOIN('tasks', 'tasks.id', 'product_tasks.task_id')
->WHERE('product_tasks.product_id', 1)
->get();
我 Eloquent 查询中缺少什么部分?
最佳答案
使用DB:raw()
ProductTask::select(
'product_tasks.id as product_task_id',
'tasks.id as tasks_id',
'tasks.task_name as label',
'tasks.serial_id as serial_id',
DB::raw("SELECT serials.starting_series as starting_series FROM serials WHERE serials.id = serial_id"))
->join('tasks', 'tasks.id', 'product_tasks.task_id')
->where('product_tasks.product_id', 1)
->get();
关于php - 将 MYSQL 查询转换为 Eloquent Laravel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53531896/