Laravel:按列值检索记录

时间:2016-02-09 12:00:43

标签: database laravel orm

如何通过列的值获取记录。例如,我想要数据集,其中“foo”列的值为“bar”。

我没有将“foo”标记为唯一键,但如果必要,我可以这样做。

我试过

$order = Order::where('foo', '=', $bar)->get();

但我认为不仅会返回一个数据集而且会返回一组数据集,对吗?

文档很差,我找不到谷歌的适当答案。这对于一个orm来说是一个简单的任务,我不知道为什么它如此复杂。

1 个答案:

答案 0 :(得分:0)

你走了。如果你想要第一个单独返回。使用->get()将始终返回可呈现对象

$order = Order::where('foo', $bar)->first();

如果您想让它可重复使用,那么您应该这样做。在Order.php模型中(假设它是一个Eloquent模型)。

public static function scopeFoo($query, $value) {
    return $query->where('foo', $value);
}

现在您可以在控制器或任何地方执行此操作

Order::foo($bar)->first()