php - 如何在where条件下传递数组?拉维尔 5.3

标签 php mysql laravel laravel-5.3 eloquent

如果我有这样的数据

比如我的表是country表

第一个数据:

id = 1; name = england; deleted_by = 1, 3

第二个数据:

id = 2; name = spain; deleted_by = 2, 4

我这样尝试:

Country::whereIn('deleted_by', $user_id)->get(); 

但我的情况似乎不能使用whereIn

例如,我想显示数据有一个 user_id = 1

我该怎么做?

注意:

deleted_by = 用户id删除的数据

$user_id = 正在记录的用户 ID

最佳答案

这不是它的工作原理。你可以这样做:

Country::where('deleted_by', 'like', ','.$user_id.',')->get();

并将数据存储为,2,4,

但更好的方法是将用户 ID 保存在单独的数据透视表中并使用 many-to-many relationship .

关于php - 如何在where条件下传递数组?拉维尔 5.3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42813405/

相关文章:

PHP - 带空格的 strpos

php - 如何在 PHP 中访问以 @ 开头的 stdClass 成员

php - 如何使用 mySQL PDO 输出数据?

php - 如何获取 Laravel 集合中元素的索引

php - 在所有其他 PHP 脚本中包含核心 PHP 脚本的专业观点是什么?

php - 从mysql数据库获取自增id

删除行时 Mysql 列按数字重新排序

php - Laravel/PHP str_replace 函数中的单引号显示笑脸图像

PHP 在 Eloquent 模型中运行原始 SQL 查询

laravel - DateTime::__construct(): 无法解析位置 0 (2) 处的时间字符串 (22/03/1983):意外字符