通过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()
切换表示切换不成功的。