Laravel Eloquent:通过唯一(非id)值检索记录

时间:2015-08-11 12:14:32

标签: php mysql laravel laravel-5 eloquent

根据唯一值检索记录的最佳方法是什么?

我知道我可以使用: $person = Person::where('fullname', "John Johnson")->first()

由于fullname仅包含唯一值,是否有更类似于使用Person::find($id)的方式?

1 个答案:

答案 0 :(得分:2)

在生成的查询方面不应该存在任何效率差异 - 两个查询都会生成非常相似的SQL:

SELECT * FROM persons WHERE id = 5;
SELECT * FROM persons WHERE fullname = 'John Johnson' LIMIT 1;

效率可能会有所不同,具体取决于您的架构配置,因为主键通常会自动创建索引,而对于其他列,您需要创建自己索引