我正在尝试在 Laravel 上进行链式 Eloquent 查询,并根据条件从用户表中获取用户,也就是说,如果他们属于确定的房子。我正在努力寻找让它发挥作用的方法。有人可以帮助我吗?
这是我的 Controller 方法:
public function create(){
if(Auth::user()->role->id == 1){
$house = House::findOrFail(Auth::user()->house->id);
$jobs = Job::pluck('name', 'id')->all();
$categories = Category::pluck('name', 'id')->all();
$users = User::pluck('name', 'id')->where('house_id', $house)->get();
return view('admin.tasks.create', compact('jobs', 'categories', 'users'));
}else{
return redirect('home');
}
}
使用 get() 时抛出的错误是:
Type error: Too few arguments to function Illuminate\Support\Collection::get(), 0 passed in /Applications/MAMP/htdocs/Housing_around/app/Http/Controllers/AdminTasksController.php on line 55 and at least 1 expected
和我想的一样,all()
最后并没有给我返回的数组带来任何东西
有人知道如何进行吗?
谢谢!
最佳答案
使用正确的语法来避免错误:
$jobs = Job::pluck('name', 'id');
$categories = Category::pluck('name', 'id');
$users = User::where('house_id', $house)->pluck('name', 'id');
关于php - Laravel 链式 Eloquent 查询无法返回结果数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48582913/