第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何構(gòu)建 Eloquent 查詢來檢索主表的記錄,在 Laravel 5 PHP 中對其相關(guān)表應(yīng)用

如何構(gòu)建 Eloquent 查詢來檢索主表的記錄,在 Laravel 5 PHP 中對其相關(guān)表應(yīng)用

PHP
SMILET 2021-11-26 14:40:13
使用 Laravel 文檔中的示例多對多多態(tài)關(guān)系數(shù)據(jù)庫結(jié)構(gòu)如下:posts  id - integer  name - stringvideos  id - integer  name - stringtags  id - integer  name - stringtaggables  tag_id - integer  taggable_id - integer  taggable_type - string我想檢索OR 的post記錄。post.name LIKE %laravel%tags.name LIKE %laravel%如何使用 Eloquent 模型來構(gòu)建這樣的查詢?這對我來說是一個很大的挑戰(zhàn),因?yàn)槲抑幌氆@得名稱由單詞組成的laravel帖子或其相關(guān)標(biāo)簽的名稱由相同單詞組成的任何帖子。
查看完整描述

2 回答

?
呼啦一陣風(fēng)

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();


查看完整回答
反對 回復(fù) 2021-11-26
?
叮當(dāng)貓咪

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();


查看完整回答
反對 回復(fù) 2021-11-26
  • 2 回答
  • 0 關(guān)注
  • 163 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號