W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
訪問(wèn)模型的記錄時(shí),您可能希望根據(jù)不存在的關(guān)系來(lái)篩選結(jié)果。例如,假設(shè)您要檢索所有 沒(méi)有 評(píng)論的博客文章。為此,您可以將關(guān)系的名稱傳遞給 doesntHave
和 orDoesntHave
方法:
$posts = App\Models\Post::doesntHave('comments')->get();
如果需要更多功能,可以使用 whereDoesntHave
和 orWhereDoesntHave
方法將「where」 條件加到 doesntHave
查詢上。這些方法允許你向關(guān)聯(lián)加入自定義限制,比如檢測(cè)評(píng)論內(nèi)容:
use Illuminate\Database\Eloquent\Builder;
$posts = App\Models\Post::whereDoesntHave('comments', function (Builder $query) {
$query->where('content', 'like', 'foo%');
})->get();
還可以使用「點(diǎn)」語(yǔ)法執(zhí)行嵌套關(guān)聯(lián)查詢。例如,下面的查詢用于獲取帶有沒(méi)被禁用的作者發(fā)表評(píng)論的文章:
use Illuminate\Database\Eloquent\Builder;
$posts = App\Models\Post::whereDoesntHave('comments.author', function (Builder $query) {
$query->where('banned', 0);
})->get();
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: