欢迎光临
我们一直在努力

laravel使用User::query()无法查询到数据

通过User::query()查找数据时,竟然没有查询到数据,给它添加上protected $table = 'users';

便查询到了数据。或者将模型文件User.php更换了一个目录也查询出来了数据。

经过查找资料,得到导致这一问题的原因。

新建一个查询构造器,不建议用User::query() ,User::query()是静态的,只初始化一次,因为这样加入你的 Model 需要切表,这样会切换不成功,最好的写法是 $user = new User(); $query = $user->newQuery();

假如你有两个表:User1 User2 User model会根据不同条件下,指向User1 User2,且这种动态的切换是代码控制的,这时候你需要调用setTable()这个方法,但是你要是用User::query()这种方式,setTable()切换表示切换不成功的。

赞(1)
版权归原作者所有,如有侵权请告知。达维营-前端网 » laravel使用User::query()无法查询到数据

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址