如何将此 sql 查询转换为 laravel 查询生成器

Posted

技术标签:

【中文标题】如何将此 sql 查询转换为 laravel 查询生成器【英文标题】:How to Convert this sql query into laravel query builder 【发布时间】:2017-06-01 08:11:51 【问题描述】:

选择 t.product_id,t.on_hand,t.created_at 来自table t, (SELECT MAX(purchase_id) as pId FROM table Group by product_id) tg 其中 t.purchase_id = tg.pId

【问题讨论】:

你自己尝试过什么吗? 我已经尝试了超过 3 天。谢谢 【参考方案1】:
$result = DB::table('table as t')
->select('t.product_id', 't.on_hand', 't.created_at')
->join(DB::raw('(SELECT MAX(purchase_id) as pId FROM table Group by product_id) tg'), function($join) 
    $join->on('t.purchase_id', '=', 'tg.pId');
)->get();

【讨论】:

感谢此查询在 var_dump $result 但未显示 var_dump 错误时有效。"未定义属性:stdClass::$products (查看:E:\Xampp\htdocs\inventory\resources\views\pages\stock .blade.php)" 这里这个表与“产品”有“关系”。而这种关系是---“购买腰带到产品”----

以上是关于如何将此 sql 查询转换为 laravel 查询生成器的主要内容,如果未能解决你的问题,请参考以下文章

如何将此查询从SQL(mysql)转换为Eloquent(Laravel)

如何将 sql 转换为查询生成器 laravel

如何将此 MySQL 查询转换为 Laravel?

将原始 SQL 转换为 Laravel 查询构建器

如何将此 SQL 查询转换为 SQLAlchemy

如何将此查询转换为 Hive SQL?