我想用不同的參數製作一個過濾器。其中一個參數是$ article_title。但它可能是空的。我的問題是即使它不是空的,我在return $comments
得到空。這是因爲這部分代碼:如何在where子句中使用多個參數?
$q->where('language_id', $default_language_id)->where('title','like',$article_title);
這是我的功能
public function getResultCommentsWithArticle($comment,$user_firstname,$article_title,$orderBy){
$default_language = Languages::where('default',1)->first();
$default_language_id = $default_language->id;
$comments = ArticleComments::orderBy($orderBy,'desc')
->with(['user', 'article', 'article.translations' => function($q) use($default_language_id,$article_title) {
$q->where('language_id', $default_language_id)->where('title','like',$article_title);
}])->paginate(10);
return $comments;
}
編輯:
我也試過這樣:
$comments = ArticleComments::orderBy($orderBy,'desc')
->with(['user', 'article', 'article.translations' => function($q) use($default_language_id,$article_title) {
$q->where([
['language_id', '=', $default_language_id],
['title', 'like', '%'. $article_title .'%'],
]);
}])->paginate(10);
,但我得到的所有評論而不是comments
與title="something"
你能解釋一下你的具體問題?現在我可以實現一個數字生成器,這將是一個有效的答案:) – Loek
問題是,我總是得到空,當我使用 - > where('title','like',$ article_title);即使我有數據庫中的那個標題 – None
現在是否清楚? :D – None