2 回答

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超9個(gè)贊
對的,這是可能的。您正在尋找的是whereHas('translations', $callback)而不是translations():
$query = Job::query();
if ($request->has('translation')) {
$query->whereHas('translations', function ($query) use ($request) {
$query->where('external_translation', 'ilike', '%'.$request->translation.'%');
});
}
$jobs = $query->paginate(10);
您的查詢可以通過使用when($condition, $callback)而不是進(jìn)一步改進(jìn)if:
$jobs = Job::query()
->when($request->translation, function ($query, $translation) {
$query->whereHas('translations', function ($query) use ($translation) {
$query->where('external_translation', 'ilike', "%{$translation}%");
});
})
->paginate(10);

TA貢獻(xiàn)1982條經(jīng)驗(yàn) 獲得超2個(gè)贊
您應(yīng)該在下一個(gè)鏈?zhǔn)讲樵冎袡z測到急切加載的問題,如下所示:
$query = Job::with('translations')->query();
- 2 回答
- 0 關(guān)注
- 134 瀏覽
添加回答
舉報(bào)