findOrFail laravel 5功能针对特定领域

pav*_*nko 6 database view laravel eloquent

这是我的代码:

$get_all = Geo_Postal_us::findOrFail($postal);
Run Code Online (Sandbox Code Playgroud)

使用此查询,laravel尝试在表中查找ID.

我没有id提交,对于主键,我有邮政专栏.

那么,如何设置函数在邮政列中查找值,而不是从id列中搜索?

谢谢,

Jam*_*ght 36

您可以使用以下内容创建您要查找的行为:

Geo_Postal_us::where('postal', $postal)->firstOrFail();
Run Code Online (Sandbox Code Playgroud)

  • 要使用不同的列作为主键,请将以下属性添加到 Geo_Postal_us 模型 `protected $primaryKey = 'postal';` (3认同)

err*_*ona 6

如果您使用 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
...
...
Run Code Online (Sandbox Code Playgroud)

我在 Voyager 中遇到了这个问题,这真的让我发疯了 :)。

希望这可以帮助一些人在谷歌这个问题时。