簡體   English   中英

Laravel 4雄辯:如何選擇值在數組中的位置?

[英]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))格式化的數據。 現在,如果usersuser_id ,我想檢索模型。 因此,如果我的user_id為2,我將僅檢索第1行,但是如果我的user_id為3,則我將同時檢索row1row2

我嘗試了類似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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM