如何通过列的值获取记录。例如,我想要数据集,其中“foo”列的值为“bar”。
我没有将“foo”标记为唯一键,但如果必要,我可以这样做。
我试过
$order = Order::where('foo', '=', $bar)->get();
但我认为不仅会返回一个数据集而且会返回一组数据集,对吗?
文档很差,我找不到谷歌的适当答案。这对于一个orm来说是一个简单的任务,我不知道为什么它如此复杂。
答案 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()