2 回答

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超6個贊
您可以whereHas為此使用。
從文檔:
如果您需要更多功能,您可以使用 whereHas 和 orWhereHas 方法將“where”條件放在您的查詢上。這些方法允許您向關(guān)系約束添加自定義約束,例如檢查評論的內(nèi)容
use Illuminate\Database\Eloquent\Builder;
// Retrieve posts with at least one comment containing words like foo%...
$posts = App\Post::whereHas('comments', function (Builder $query) {
$query->where('content', 'like', 'foo%');
})->get();
在你的情況下,它會是這樣的:
use Illuminate\Database\Eloquent\Builder;
$input = 'laravel';
Post::whereHas('tags', function (Builder $query) use ($input) {
$query->where('name', 'like', '%' . $input .'%');
})->orWhere('name', 'like', '%' . $input . '%')->get();

TA貢獻(xiàn)1776條經(jīng)驗(yàn) 獲得超12個贊
這應(yīng)該有效:
$result = Post::whereHas('tags', function ($query) {
$query->where('name', 'like', '%laravel%')
->orWhere('tags.name', 'like', '%laravel%');
})->get();
- 2 回答
- 0 關(guān)注
- 163 瀏覽
添加回答
舉報(bào)