【发布时间】:2021-01-18 13:44:41
【问题描述】:
目前,我们可以加入 2 个类似的表
ModelA::join('table_b', 'table_a.id', '=', 'table_b.a_id');
使用这种方法,table_b 的模型(即:ModelB)的默认范围不会应用于查询。假设 ModelB 现在启用了 SoftDeletes,上述连接将不包括 whereRaw('table_b.deleted_at IS NULL')。我知道我可以使用以下代码手动添加它。
ModelA::join('table_b', function($join) {
$join->on('table_a.id', '=', 'table_b.a_id')
->whereRaw('table_b.deleted_at IS NULL');
});
我想知道是否有任何方法可以加入,以便在 ModeB 中自动应用默认范围。比如:
ModelA::joinModel(ModelB::Class, 'table_a.id', '=', 'table_b.a_id');
【问题讨论】:
标签: laravel-5 eloquent laravel-query-builder