Laravel 条件数组 in 的用法 | Laravel China 社区


本站和网页 https://learnku.com/articles/36964 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

Laravel 条件数组 in 的用法 | Laravel China 社区
Laravel
话题列表
社区 Wiki
优质外文
招聘求职
Laravel 实战教程
社区文档
登录
注册
Laravel
首页
Laravel
Go
PHP
Vue.js
Python
Java
MySQL
Rust
LK
Elasticsearch
F2E 前端
Server
程序员
Database
DevTools
Computer Science
手机开发
AdonisJS
社区
Wiki
教程
Laravel 实战教程首页
《L01 Laravel 教程 - Web 开发实战入门》
《L02 Laravel 教程 - Web 开发实战进阶》
《L03 Laravel 教程 - 实战构架 API 服务器》
《L04 Laravel 教程 - 微信小程序从零到发布》
《L05 Laravel 教程 - 电商实战》
《L06 Laravel 教程 - 电商进阶》
《LX1 Laravel / PHP 扩展包视频教程》
《LX2 PHP 扩展包实战教程 - 从入门到发布》
《L07 Laravel 教程 - Laravel TDD 测试实战》
《LX3 Laravel 性能优化入门》
《LX4 Laravel / PHP 五分钟视频》
文档
社区文档首页
《Laravel 中文文档》
《Laravel 速查表》
《PHP 代码简洁之道》
《Laravel 编码技巧》
《Dcat Admin 中文文档》
《Laravel Nova 中文文档》
《Lumen 中文文档》
《Dingo API 中文文档》
《 Laravel 项目开发规范》
《构建 Laravel 开发环境》
登录
注册
微信登录
Laravel 条件数组 in 的用法
expectedSelf 的个人博客
2262
创建于 3年前
更新于 3年前
需要将使用in查询的字段写成闭包的形式
$where['status'] = 1;
$ids = [1,2];
$where[] = [function($query) use ($ids){
$query->whereIn('id', $ids);
}];
$list = User::where($where)
->get();
生成sql如下
select * from `users` where (`status` = 1 and (`id` in (1, 2)))
laravel
本作品采用《CC 协议》,转载必须注明作者和本文链接
所幸无碍
举报
expectedSelf
Laravel 6.0 译者
144 声望
努力吧,成为更耀眼的存在!
9 人点赞
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
推荐文章:
更多推荐...
博客
钱付了,订单还是未支付,用户炸了!——聊聊如何防止支付掉单!
27
18
2个月前
翻译
如何在 Laravel 中创建一个简单的事件流?
19
12
3个月前
博客
🎈 Slow Admin - 使用Laravel和Amis快速构建你的后台
25
35
3个月前
博客
用Go实现支持多种协议的抓包工具——Shermie-Proxy
22
33
5个月前
翻译
Laravel 代码重构:使用 Services, Events, Jobs, Actions 来重构控制器方法
60
22
6个月前
博客
使用 Laravel Filament 极速搭建美观大方的后台面板
20
44
6个月前
讨论数量: 6
排序:
时间
投票
largezhou
课程读者
671 声望
Ctrl+CV工 @ LZzzz
试了下,可以省去 'id' =>
3年前
评论
评论
expectedSelf
(楼主)
3年前
确实可以
举报
半人间
课程读者
176 声望
User::where('status',1)->whereIn('id',[1,2,3,4,5])->get();
为什么搞那么复杂?
3年前
评论
评论
expectedSelf
(楼主)
3年前
需要做多层筛选,查询的字段不确定的时候用
举报
jamesZhao
见习助教
18 声望
还有这种写法不错!我使用的这种 $where[] = ['in'=>['tn_user_base.id'=>$medical_number_ids]];
3年前
评论
评论
expectedSelf
(楼主)
3年前
这是tp的写法吧
J_Wang
1年前
试了 ,不行
举报
ouer1994
课程读者
127 声望
我一般直接使用 when()
3年前
评论
评论
举报
Jourdon
课程读者
438 声望
苦逼程序员 @ 公司或组织名称
使用 when 比较好理解,使闭包看着好怪。
$status = 1;
$ids = [1,2];
User::when($status, function ($query, $status) {
return $query->where('status', $status);
})
->when($ids, function ($query, $ids) {
return $query->whereIn('id', $ids);
})
->get();
3年前
评论
评论
expectedSelf
(楼主)
3年前
这个也挺好
小手冰凉
2年前
firstOrCreate时,第一个数组参数里包含了where和whereIn只能用楼主的方式
举报
Smile0753
0 声望
问下,whereIn('字段',数组) 这数组的长度是否有限呢? 或者说$ids 过长怎么优化处理呢?
2年前
评论
评论
ouer1994
2年前
数组长度是有限制的, 过多查询速度会受到影响. 对于数组长度过大的情况你可以将数组分为几个小数组, 分别查询
残夜
2年前
@ouer1994 数组长度是有限制的, 过多查询速度会受到影响,为什么。底层处理问题么!?能否给下文件地址
ouer1994
2年前
@残夜 我的意思是在 使用 where xxx in () 的时候 () 里面的数据不宜过多, 否则sql会执行很慢. mysql / mariadb的问题
残夜
2年前
@ouer1994 昨天刚好遇到了这个问题,看了下源码,与mysql无关,和php的pdo拓展有关
ouer1994
2年前
@残夜 是啊 这是数据库的问题, mariadb 更明显, mysql 还好
残夜
2年前
@ouer1994 php的pdo的拓展的问题啊,,跟数据库无关吧,,,
ouer1994
2年前
@残夜 你自己试试就知道了 很简单啊 你直接搞一个 in () 特别多的sql 你看数据库慢不慢
残夜
2年前
@ouer1994 我试过了,还真不慢,走索引的话
ouer1994
2年前
@残夜 你随意 我不解释啦
残夜
2年前
@ouer1994 行吧
举报
讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
<a href="javascript:;" class="mr-2 ui popover text-mute" data-html="黏贴或拖拽图片至输入框内皆可上传图片">
<a href="javascript:;" class="mr-2 ui popover text-mute hide-on-mobile" data-html="支持除了 H1~H6 以外的GitHub 兼容 Markdown">
支持 MD
帮助
关注本文
评论
expectedSelf
未填写
文章
14
粉丝
喜欢
33
收藏
61
排名:471
访问:1.7 万
关注
私信
所有博文
阅读模式
文章归档
1 篇
2022 年 4 月
1 篇
2021 年 7 月
1 篇
2021 年 6 月
1 篇
2020 年 4 月
2 篇
2020 年 1 月
2 篇
2019 年 12 月
2 篇
2019 年 11 月
1 篇
2019 年 8 月
1 篇
2019 年 5 月
2 篇
2019 年 2 月
最新文章
最受欢迎
7个月前
nginx 通过 php 代理给图片加水印
1年前
WSL里Nginx+PHP,经常反映慢,卡住
1年前
根据经纬度坐标查询最近的门店
2年前
docker 容器互通
2年前
model 递归子级
Laravel 条件数组 in 的用法
根据经纬度坐标查询最近的门店
WSL里Nginx+PHP,经常反映慢,卡住
路由多版本拆分
Laravel 发送邮件
博客标签
php
laravel
elasticsearch
docker
mail
git
centos
php版本
路由
社区赞助商
成为赞助商
社区赞助商
成为赞助商
关于 LearnKu
LearnKu 是终身编程者的修道场
做最专业、严肃的技术论坛
LearnKu 诞生的故事
资源推荐
《社区使用指南》
《文档撰写指南》
《LearnKu 社区规范》
《提问的智慧》
服务提供商
其他信息
成为版主
所有测验
联系站长(反馈建议)
粤ICP备18099781号-6
粤公网安备 44030502004330号
违法和不良信息举报
由 Summer 设计和编码 ❤
请登录
提交
忘记密码?
or
注册
第三方账号登录
微信登录
GitHub 登录
内容举报
匿名举报,为防止滥用,仅管理员可见举报者。
我要举报该,理由是:
垃圾广告:恶意灌水、广告、推广等内容
无意义内容:测试、灌水、文不对题、消极内容、文章品质太差等
违规内容:色情、暴利、血腥、敏感信息等
不友善内容:人身攻击、挑衅辱骂、恶意行为
科学上网:翻墙、VPN、Shadowsocks,政策风险,会被关站!
不懂提问:提问太随意,需要再做一遍《提问的智慧》测验
随意提问:提问没有发布在社区问答分类下
排版混乱:没有合理使用 Markdown 编写文章,未使用代码高亮
内容结构混乱:逻辑不清晰,内容混乱,难以阅读
标题随意:标题党、标题不释义
尊重版权:分享付费课程、破解软件(付费),侵犯作者劳动成果
其他理由:请补充说明
举报
取消