2017-02-22 154 views
1

我的表是這樣的:如何處理Laravel雄辯「WHERE」用斜槓查詢值? (Laravel 5.3)

enter image description here

上的MySQL,我嘗試這樣的:

SELECT * FROM players WHERE player_type = 'App\Models\Player' 

數據不顯示

所以,我加斜槓像這樣:

SELECT * FROM players WHERE player_type = 'App\\Models\\Player' 

Dat一個顯示

然後,在laravel口若懸河,我嘗試這樣的:

$select = array(
    'player_type' 
); 
$query = self::where('player_type', '=', 'App\\\Models\\\Player') 
      ->paginate(10, $select, 'page', null, null); 

數據不顯示

我該如何解決呢?

+0

我可以放心假設你正在使用'morph'關係的方法? –

+0

@Omisakin Oluwatobi,是的,我使用它 –

+0

那麼你不必擔心使用與問的球員再次類型,一旦例如如果關係是球員和用戶,然後你可以簡單地通過像'用戶: :與( '玩家') - > get()方法' –

回答

1

這裏只是一個不同的方法,而不是解決方案。

所有的模型都有相同的命名空間App\Models\...。如果是這樣,那麼只需將實際模型保存在數據庫中而不使用其名稱空間。

id  player_type 
1  Player 
2  Player 

在你的控制器後來的後來,你得到的在線播放類型,試圖實例模型時手動添加的命名空間。

0

,你必須使用雙引號""''

$result = DB::table('users') 
    ->where("city", "App\\Models\\Player") 
    ->get(); 
    dd($result); 

我試試這個在我的本地和它的作品