【发布时间】:2015-09-02 12:11:36
【问题描述】:
这是我的代码:
$get_all = Geo_Postal_us::findOrFail($postal);
通过这个查询,Laravel 尝试在表中查找 id 字段。
我没有id 字段。我使用postal 列作为主键。
如何设置函数在postal 列中查找值而不是从id 列中搜索?
谢谢,
【问题讨论】:
标签: database laravel view eloquent
这是我的代码:
$get_all = Geo_Postal_us::findOrFail($postal);
通过这个查询,Laravel 尝试在表中查找 id 字段。
我没有id 字段。我使用postal 列作为主键。
如何设置函数在postal 列中查找值而不是从id 列中搜索?
谢谢,
【问题讨论】:
标签: database laravel view eloquent
您可以使用以下方法创建您正在寻找的行为:
Geo_Postal_us::where('postal', $postal)->firstOrFail();
【讨论】:
protected $primaryKey = 'postal';
如果你使用 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 中遇到了这个问题,真的让我抓狂:)。
希望这有助于一些人在谷歌上搜索这个问题。
【讨论】: