2015-11-03 85 views
2

我正在使用php和laravel框架。我想從包含用戶標識的表中獲取行。這裏的問題是,用戶ID是整數值,列(作者)包含多個逗號分隔的整數值。這裏是例子。如何在laravel中以逗號分隔值的列使用'where'

DB::table('stories')->where('author','4')->get(); 

作者列有值:行1:2,4,5 |第2行:1,3,14 |第3行:4,5 ,我將得到第1行和第3行。所以,請幫助我獲得正確的行。

回答

4

您可以使用whereRaw等作爲

DB::table('stories')->whereRaw("find_in_set('4',author)")->get(); 
1

首先使用

$row = "2,4,5"; 
$idsArr = explode(',',$row); 
DB::table('stories')->whereIn('author',$idsArr)->get(); 
+0

爲什麼字符串轉換成數組,如果你可以簡單地使用'find_in_set' –

+0

@uchicha你是對的轉換您stringarray ..但不同的人有不同的思想,不同的思想有不同的邏輯方式...... :) – PRANAV