Php 如何处理Laravel的“雄辩”;其中;在值上使用斜杠进行查询?(拉威尔5.3)
我的桌子是这样的:Php 如何处理Laravel的“雄辩”;其中;在值上使用斜杠进行查询?(拉威尔5.3),php,mysql,laravel,laravel-5.3,laravel-eloquent,Php,Mysql,Laravel,Laravel 5.3,Laravel Eloquent,我的桌子是这样的: SELECT * FROM players WHERE player_type = 'App\Models\Player' SELECT * FROM players WHERE player_type = 'App\\Models\\Player' $select = array( 'player_type' ); $query = self::where('player_type', '=', 'App\\\Models\\\Player')
SELECT * FROM players WHERE player_type = 'App\Models\Player'
SELECT * FROM players WHERE player_type = 'App\\Models\\Player'
$select = array(
'player_type'
);
$query = self::where('player_type', '=', 'App\\\Models\\\Player')
->paginate(10, $select, 'page', null, null);
在mysql上,我尝试如下:
SELECT * FROM players WHERE player_type = 'App\Models\Player'
SELECT * FROM players WHERE player_type = 'App\\Models\\Player'
$select = array(
'player_type'
);
$query = self::where('player_type', '=', 'App\\\Models\\\Player')
->paginate(10, $select, 'page', null, null);
数据不显示
因此,我添加了如下斜杠:
SELECT * FROM players WHERE player_type = 'App\Models\Player'
SELECT * FROM players WHERE player_type = 'App\\Models\\Player'
$select = array(
'player_type'
);
$query = self::where('player_type', '=', 'App\\\Models\\\Player')
->paginate(10, $select, 'page', null, null);
数据显示
然后,在《拉雷维尔雄辩》中,我尝试如下:
SELECT * FROM players WHERE player_type = 'App\Models\Player'
SELECT * FROM players WHERE player_type = 'App\\Models\\Player'
$select = array(
'player_type'
);
$query = self::where('player_type', '=', 'App\\\Models\\\Player')
->paginate(10, $select, 'page', null, null);
数据不显示
我该怎么解决呢?这里只是一种不同的方法,而不是解决方案 您的所有模型都具有相同的命名空间
App\models\…
。如果是这样,那么只需将实际模型保存在数据库中,而不使用其名称空间
id player_type
1 Player
2 Player
之后在控制器中,您将获得palyer类型,并在尝试实例化模型时手动添加名称空间。我可以安全地假设您使用的是
morph
关系方法吗?@Omisakin Oluwatobi,是的,我使用了它。您不必担心再次使用询问玩家类型的方法,例如,如果关系是players和users,那么您可以简单地通过类似User::with('players')->get()的方式获取。如果这不是一个解决方案,这不应该只是一个注释吗?