根据一对多关系

时间:2018-06-11 14:52:03

标签: php laravel eloquent

我正在构建一个过滤功能(已经可以使用)。现在我只想添加一个订单功能:按“艺术家名称”,“艺术品标题”排序,......

此表中可能的订单值不是“字段”。我无法找到启动此“orderBy”查询的方法。我正在寻找的是这样的:

$artworks = $artworks->orderBy(function($q) use($request){
    $q->where('title', 'LIKE', '%artist_name%');
});

但显然这不起作用。有没有办法做到这一点? 例如:我希望能够对具有title“artist_name”的艺术品进行排序,按照这些记录的value排序

我有两张桌子:Artworks& Artwork_data(一对多关系)。

这是我的Artwork_data表:

Artwork_data table

1 个答案:

答案 0 :(得分:0)

您可以将orderByRaw与条件子句

一起使用
->orderByRaw('case when title like %artist_name% then value else somecolumn end asc')