【问题标题】:convert an sql query to laravel eloquent将 sql 查询转换为 laravel eloquent
【发布时间】:2020-10-03 11:20:46
【问题描述】:

我有这个 SQL RAW 查询:

select * from table_a where (select id from table_b where table_a.table_b_id = table_b.id and table_b.code = '02') = table_a.table_b_id  and user = '123456'  order by id desc limit 1

我需要转换为 Laravel 雄辩。我已经尝试了几个小时

【问题讨论】:

标签: sql laravel eloquent


【解决方案1】:

这显然有效

$tran = Table_A::join('table_b', function ($join) {
    $join->on('table_a.table_b_id', '=', 'table_b.id')
        ->where('table_b.code', '02');
})->where('user', '123456')
   ->orderBy('table_a.id', "DESC")->limit(1)
    ->get();

【讨论】:

【解决方案2】:

如果你想使用 Eloquent,你必须创建模型和关系。弄清楚这两个表是如何连接的:hasOne、hasMany、hasManyThrough 等。https://laravel.com/docs/7.x/eloquent-relationships

当您创建模型及其关系时,您的查询将是 Eloquent。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-24
    • 1970-01-01
    • 2019-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-31
    相关资源
    最近更新 更多