Laravel:按列值检索记录
Posted
技术标签:
【中文标题】Laravel:按列值检索记录【英文标题】:Laravel: Retrieving A Record By Column Value 【发布时间】:2016-05-19 09:48:43 【问题描述】:如何通过列的值获取记录。例如,我想要列“foo”的值为“bar”的数据集。
我没有将“foo”标记为唯一键,但如果有必要我可以这样做。
我试过了
$order = Order::where('foo', '=', $bar)->get();
但我认为这不仅会返回一个数据集,还会返回一组数据集,对吗?
文档很差,我无法通过谷歌找到足够的答案。这对于一个orm来说是一个简单的任务,我不知道它为什么这么复杂。
【问题讨论】:
是的,它可以是对象数组,因为它可以返回多个原始对象。你期望得到什么回报? 【参考方案1】:给你。如果要第一个单独返回。使用->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()
【讨论】:
hm 它告诉我:非静态方法 App\Order::getByOrderIdent() 不应该被静态调用,假设 $this 来自不兼容的上下文以上是关于Laravel:按列值检索记录的主要内容,如果未能解决你的问题,请参考以下文章