Laravel 5 SQLSTATE[42S22]:(SQL:从'categories'中选择*,其中'categories`.'department\u id`=1和'categories`.'department\u id`不为空)
我正在尝试选择特定部门的所有类别Laravel 5 SQLSTATE[42S22]:(SQL:从'categories'中选择*,其中'categories`.'department\u id`=1和'categories`.'department\u id`不为空),laravel-5,orm,eloquent,Laravel 5,Orm,Eloquent,我正在尝试选择特定部门的所有类别 class Test extends Controller { public function test(){ $depts=Departement::find(1)->categories; foreach ($depts as $dept){ echo $dept->name; } return view('test'); } }
class Test extends Controller
{
public function test(){
$depts=Departement::find(1)->categories;
foreach ($depts as $dept){
echo $dept->name;
}
return view('test');
}
}
快速的谷歌搜索告诉我SQLSTATE[42S22]是“Column not found”的代码。 当您调用
department::find(1)->categories
时,Eloquent会进行两次查询
从'categories'中选择*,其中'categories`.'department\u id`=1和'categories`.'department\u id`不为空)
很明显,在您的类别
表中没有部门id
列
如果类别表中没有“部门id”列
要么:
- 将其添加到迁移中
- 如果不使用迁移,请直接将其添加到数据库中
为了可读性更好地编辑错误是什么?为什么要回显数据,然后返回视图?您是否添加了
使用App\Department代码>到您的控制器?另外,您确定ID为1的部门存在吗?是的,部门ID=1存在并且使用App\Department exists错误为SQLSTATE[42S22]:(SQL:从类别中选择*,其中类别部门ID
=1并且类别部门ID
不为空)