【问题标题】:findOrFail Laravel 5 function for specific fieldfindOrFail Laravel 5 特定领域的功能
【发布时间】:2015-09-02 12:11:36
【问题描述】:

这是我的代码:

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

通过这个查询,Laravel 尝试在表中查找 id 字段。

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

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

谢谢,

【问题讨论】:

    标签: database laravel view eloquent


    【解决方案1】:

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

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

    【讨论】:

    • 这个问题,tnx!但是现在,当我进行上传时,直到有 id,工作正常,现在萌芽,再次出现错误,Laravel 仍在尝试查找 ID 归档。这是代码:$email_update = Geo_Postal_us::where('postal', $postal)->firstOrFail();
    • 要使用不同的列作为主键,请将以下属性添加到 Geo_Postal_us 模型protected $primaryKey = 'postal';
    【解决方案2】:

    如果你使用 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 中遇到了这个问题,真的让我抓狂:)。

    希望这有助于一些人在谷歌上搜索这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-05
      • 2010-09-06
      • 2015-07-04
      • 2016-03-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多