如何在laravel 5.2(where condition)中调用all()方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在laravel 5.2(where condition)中调用all()方法相关的知识,希望对你有一定的参考价值。

public function createSchedule()
{
    $faculty = Faculty::all()->where('id','='1);

    $section = Section::all();
    $subject = Subject::all(['id', 'course_code', 'course_description']);
    $room = Room::all(['id', 'room_name']);
    return view('schedule.create', compact(['faculty',$faculty],['subject',$subject],['section',$section],['room',$room]));
}

如何在laravel 5.2(where condition)中调用all()方法

$faculty = Faculty::all()->where('id', '=', 1);
答案

在Eloquent中,在模型上调用all()静态方法可以收集表中的所有记录而不是查询构建器。

如果你想根据它的主键(id?)只抓一条记录,你应该使用find()方法:

$faculty = Faculty::find(1);

如果您想构建更复杂的查询,可以使用:

$faculty = Faculty::where('age', '>', 40)->get();

这将产生符合年龄条件的Faculty物品的集合。如果您只想获得符合要求的第一条记录,可以使用first()而不是get()

$faculty = Faculty::where('age', '>', 40)->first();
$faculty = Faculty::where('id', 1)->first();
另一答案
$faculty = Faculty::where('id', '=', 1)->all();
另一答案

在Chris Cynarski的答案中,您可以直接在模型上调用where,并在get上调用与where语句中定义的条件匹配的集合

$faculty = Faculty::where('age', '>', 40)->get();

但是对于更复杂的调节,你可以使用filter()方法,例如

$faculty = Faculty::all()->filter(function($value, $key){ return $value->isOld(); });

其中isOld()是在Faculty模型中定义的方法,用于检查年龄是否超过40

以上是关于如何在laravel 5.2(where condition)中调用all()方法的主要内容,如果未能解决你的问题,请参考以下文章

如何修复Laravel 5.2中的“Undefined variable:subtask”

在 Eloquent 查询/Laravel 5.2 中使用变量

如何修复 Laravel 5.2 中的“未定义变量:子任务”

如何使用Laravel 5.2在数据表服务器端处理中执行算术计算?

在升级laravel 5.2到5.3之后,无法在Route :: model中绑定模型

如何在 Laravel 5.2 中使用资源声明路由