首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >拉勒维尔不喜欢在哪里工作('key','lke',‘%’,键‘%’)

拉勒维尔不喜欢在哪里工作('key','lke',‘%’,键‘%’)
EN

Stack Overflow用户
提问于 2021-04-24 08:36:17
回答 2查看 65关注 0票数 0

在我的Laravel项目中,查询不起作用。

以下代码没有输出。

代码语言:javascript
复制
$data['result'] = Songs::where('is_active','=','1')->get()->sortByDesc('created_at');

if (!empty($key)) {
    $data['result'] = $data['result']->where('key','LIKE',DB::raw("CONCAT('%', $key, '%')"));
}

请帮我解决这个问题

我也尝试过以下

->where('sale_property.property_ref_id', 'LIKE', DB::raw("CONCAT('%', $key, '%')"))

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-04-24 08:46:49

如果您想要进行更多的查询,只需将->get()放在最后。

下面是一个例子:

代码语言:javascript
复制
$data['result'] = Songs::where('is_active','=','1')->orderBy('created_at','DESC');

if (!empty($key)) {
    $data['result'] = $data['result']->where('key','LIKE','%'. $key .'%');
}

$data['result'] = $data['result']->get();
票数 1
EN

Stack Overflow用户

发布于 2021-04-25 18:48:37

上面的答案是正确的,但是您可以从拉勒维尔中添加一些美丽

代码语言:javascript
复制
$data['result'] = Songs::where('is_active', '1')
->when($key, function ($query, $key) {
    return $query->where('key', 'LIKE', '%' . $key . '%');
})->orderByDesc('created_at')->get();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67240821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档