【问题标题】:How to select article by category name with Laravel Eloquent如何使用 Laravel Eloquent 按类别名称选择文章
【发布时间】:2022-09-23 00:19:00
【问题描述】:

我对如何使用 laravel eloquent 按类别名称选择文章有疑问。我在控制器中的索引功能:

$article = Article::with(\'category\')->when(request()->q, function($article) {
            $article->where(\'category.name\', \'like\', \'%\'. request()->q . \'%\');
        })->latest()->paginate(10);

此代码返回错误:

SQLSTATE[42S22]: Column not found: 1054 Unknown column \'category.name\' in \'where clause\'

我的文章模型已经设置为属于类别

public function category()
    {
        return $this->belongsTo(Category::class,\"category_id\");
    }

但我并不奇怪它仍然无法正常工作。谢谢你的帮助。

    标签: php laravel


    【解决方案1】:
    $article = Article::with('category')
        ->when(request()->q, function($article) {
            $article->whereHas('category',
                fn($q) => $q->where('name', 'like', '%'. request()->q . '%')
            );
        })
        ->latest()
        ->paginate(10);
    

    【讨论】:

    • 厉害了,谢谢楼主
    猜你喜欢
    • 1970-01-01
    • 2021-12-24
    • 1970-01-01
    • 2019-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-12
    • 1970-01-01
    相关资源
    最近更新 更多