使用 Laravel Eloquent 的 with() 函数和内部连接
Using Laravel Eloquent's with() function along with inner join
我在尝试将 with()
函数与连接一起使用时遇到问题:
$query = Model::query()->with([
'relationOne',
'relationTwo',
...
]);
$query->join(DB::raw("(
select *
from <models_table>
where <some_condition>
) as new_model"), 'new_model.id', '=', '<models_table>.id');
$query->paginate($rpp);
在 paginate($rpp)
调用后,我收到了所有附加了适当关系但没有加入 table(又名 new_model
)的项目。有没有办法检索 new_model
以及关系?
请试试下面的代码希望对你有帮助。
$query = Model::query()->with([
'relationOne',
'relationTwo',
...
])
$query = $query->join(DB::raw("(
select *
from <models_table>
where <some_condition>
) as new_model"), 'new_model.id', '=', '<models_table>.id')
$query = $query->paginate($rpp);
您是否尝试添加 select
语句来强调您想要获取的表格?
$query->join(DB::raw("(
select *
from <models_table>
where <some_condition>
) as new_model"), 'new_model.id', '=', '<models_table>.id')
->select(['<models_table>.*', 'new_model.*']);
我在尝试将 with()
函数与连接一起使用时遇到问题:
$query = Model::query()->with([
'relationOne',
'relationTwo',
...
]);
$query->join(DB::raw("(
select *
from <models_table>
where <some_condition>
) as new_model"), 'new_model.id', '=', '<models_table>.id');
$query->paginate($rpp);
在 paginate($rpp)
调用后,我收到了所有附加了适当关系但没有加入 table(又名 new_model
)的项目。有没有办法检索 new_model
以及关系?
请试试下面的代码希望对你有帮助。
$query = Model::query()->with([
'relationOne',
'relationTwo',
...
])
$query = $query->join(DB::raw("(
select *
from <models_table>
where <some_condition>
) as new_model"), 'new_model.id', '=', '<models_table>.id')
$query = $query->paginate($rpp);
您是否尝试添加 select
语句来强调您想要获取的表格?
$query->join(DB::raw("(
select *
from <models_table>
where <some_condition>
) as new_model"), 'new_model.id', '=', '<models_table>.id')
->select(['<models_table>.*', 'new_model.*']);