findOrFail Laravel 5 特定领域的功能
Posted
技术标签:
【中文标题】findOrFail Laravel 5 特定领域的功能【英文标题】:findOrFail Laravel 5 function for specific field 【发布时间】:2015-09-02 12:11:36 【问题描述】:这是我的代码:
$get_all = Geo_Postal_us::findOrFail($postal);
通过这个查询,Laravel 尝试在表中查找 id
字段。
我没有id
字段。我使用postal
列作为主键。
如何设置函数在postal
列中查找值而不是从id
列中搜索?
谢谢,
【问题讨论】:
【参考方案1】:您可以使用以下方法创建您正在寻找的行为:
Geo_Postal_us::where('postal', $postal)->firstOrFail();
【讨论】:
这个问题,tnx!但是现在,当我进行上传时,直到有 id,工作正常,现在萌芽,再次出现错误,Laravel 仍在尝试查找 ID 归档。这是代码:$email_update = Geo_Postal_us::where('postal', $postal)->firstOrFail(); 要使用不同的列作为主键,请将以下属性添加到 Geo_Postal_us 模型protected $primaryKey = 'postal';
【参考方案2】:
如果你使用 find(),Laravel 默认会在表中搜索“id”列。为了避免在这里和以后遇到错误,你应该总是告诉 laravel 你确实为你的主要字段取了另一个名字。
为此,只需在您的 Geo_Postal_us 中进行如下编辑:
class Geo_Postal_us extends Model
protected $primaryKey = 'postal'; //tell laravel to use 'postal' as primary key field
...
...
我在 Voyager 中遇到了这个问题,真的让我抓狂:)。
希望这有助于一些人在谷歌上搜索这个问题。
【讨论】:
以上是关于findOrFail Laravel 5 特定领域的功能的主要内容,如果未能解决你的问题,请参考以下文章