[英]Laravel 4 Eloquent: how to select where value is in array?
假設我有一個具有db記錄的模型,如下所示:
row1: id: 1 users:["1","2","3"]
row2: id: 2 users:["3","4","5"]
用戶是從json_encode(array($user_id))
格式化的數據。 現在,如果users
有user_id
,我想檢索模型。 因此,如果我的user_id
為2,我將僅檢索第1行,但是如果我的user_id
為3,則我將同時檢索row1
和row2
。
我嘗試了類似Model::whereIn('users', $user_id)->get();
,它不起作用,是否有其他方法可以實現這種口才?
希望您將用戶ID存儲在會話中或其他內容中,因此your_id是指分配給您自己的ID。
Model::where('id','!=',your_id)->get();
這將返回您的所有行,但id = your_id除外
我認為沒有一種非常口才的方法。 但是由於您使用的是json_encode,我們可以假定所有數據的格式都相同,並執行以下操作:
Model::where('users', 'like', '%"'.$user_id.'"%')->get();
這應該工作。 你的情況是通常最好使用數據透視表處理,但當然你不必像其他人說使用它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.