php - 将 MYSQL 查询转换为 Eloquent Laravel

标签 php mysql laravel eloquent

这是我的 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/

相关文章:

php - 将文件名作为 post 变量不好吗?

MySQL:选择包含字符串的列名

php - nginx 上的 Laravel 权限

php - Laravel 数据库播种机

php - 如何通过 Laravel 更新外部样式表中的 CSS 属性?

php - CakePHP 2.2.0 多树重新排序性能

php - 检测使用 setcookie 函数发送的所有 cookie

mysql - SQL NOT IN需要双层?

php - 如何从表 MySQLi 中每列的末尾删除 5 个字符

mysql - 为基于事件的分析设计数据库模式