Laravel 4 Eloquent:如何选择数组中的值?

时间:2014-06-28 10:12:10

标签: php laravel-4 eloquent

假设我有一个带有这样的db记录的模型:

row1: id: 1  users:["1","2","3"] 
row2: id: 2  users:["3","4","5"]

用户是从json_encode(array($user_id))格式化的数据。现在我想在user_idusers检索模型。因此,如果我的user_id为2,我只会检索第1行,但如果我的user_id为3,我将同时检索row1row2

我试过像Model::whereIn('users', $user_id)->get();这样的东西,它不起作用,还有其他方法可以达到这种雄辩的方式吗?

2 个答案:

答案 0 :(得分:2)

希望您在会话中存储您的用户ID,因此your_id指的是分配给您自己的ID。

Model::where('id','!=',your_id)->get();

除了id = your_id

之外,这将返回所有行

答案 1 :(得分:0)

我不认为这是一种非常有说服力的方式。但是既然你使用了json_encode,我们就可以假设所有数据的格式都是一样的,并做了类似的事情:

Model::where('users', 'like', '%"'.$user_id.'"%')->get();

这应该有效。你的情况通常最好通过数据透视表来处理,但当然你不会像其他人那样 使用它们。