特定字段的 findOrFail Laravel 5 函数

findOrFail Laravel 5 function for specific field

这是我的代码:

$get_all = Geo_Postal_us::findOrFail($postal);

通过此查询,Laravel 尝试在 table 中查找 id 字段。

我没有 id 字段。我使用 postal 列作为主键。

如何设置函数以在 postal 列中查找值而不是从 id 列中搜索?

谢谢,

您可以使用以下方法创建您正在寻找的行为:

Geo_Postal_us::where('postal', $postal)->firstOrFail();
如果您使用 find(),

Laravel 默认搜索 table 内的 "id" 列。为避免 运行 在这里和以后出现错误,您应该始终告诉 laravel 您确实为主字段取了另一个名称。

为此,在您的 Geo_Postal_us 中按以下方式编辑:

class Geo_Postal_us extends Model
{
      protected $primaryKey = 'postal'; //tell laravel to use 'postal' as primary key field
...
...

我 运行 在 Voyager 中遇到了这个问题,这真的让我抓狂:)。

希望这可以帮助一些人 google 这个问题。