findOrFail laravel 5功能针对特定领域

时间:2015-06-17 10:10:24

标签: database laravel view eloquent

这是我的代码:

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

通过此查询,laravel尝试在表格中找到ID。

我没有提交id,因为主键我有邮政专栏。

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

谢谢,

2 个答案:

答案 0 :(得分:30)

您可以使用以下方法创建您要查找的行为:

Geo_Postal_us::where('postal', $postal)->firstOrFail();

答案 1 :(得分:0)

默认情况下,如果您使用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中遇到了这个问题,这确实让我发疯了:)。

希望这对某些人在搜索该问题时有所帮助。