这是我的代码:
$get_all = Geo_Postal_us::findOrFail($postal);
通过此查询,laravel
尝试在表格中找到ID。
我没有提交id,因为主键我有邮政专栏。
那么,如何设置函数在邮政列中查找值,而不是从id列中搜索?
谢谢,
答案 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中遇到了这个问题,这确实让我发疯了:)。
希望这对某些人在搜索该问题时有所帮助。