【问题标题】:Laravel Eloquent returns empty model even though ID is correct即使 ID 正确,Laravel Eloquent 也会返回空模型
【发布时间】:2017-12-13 09:41:49
【问题描述】:

所以我对这条路线有一个 Axios 获取请求:

/threads/test/{fooId}/get

这个方法处理的:

public function apiThreadsByTag(Foo $foo)
{
    dd($foo);
}

Foo 是一个模型,{id}​​ 确实是正确的。但是,我仍然得到了一个没有任何属性的模型实例:

Foo {#323
    #guarded: []
    #connection: null
    #table: null
    #primaryKey: "id"
    #keyType: "int"
    +incrementing: true
    #with: []
    #perPage: 15
    +exists: false
    +wasRecentlyCreated: false
    #attributes: []
    #original: []
    #casts: []
    #dates: []
    #dateFormat: null
    #appends: []
    #events: []
    #observables: []
    #relations: []
    #touches: []
    +timestamps: true
  #hidden: []
  #visible: []
  #fillable: []
}

但是,如果我将方法更改为,它确实会在数据库中找到它:

public function apiThreadsByTag($fooId)
{
    dd(Foo::find($fooId));
}

那么,这里有什么问题吗?我非常感谢任何提示!

【问题讨论】:

  • 尝试更改 var 的名称,使其与通配符相同。像这样:public function apiThreadsByTag(Foo $fooId) { dd($fooId); }
  • 您是否应用了正确的路由模型绑定?

标签: laravel model routes eloquent parameter-passing


【解决方案1】:

我做的一切都是正确的。好吧,除了我将 Foo 模型的 getRouteKeyName() 设置为另一个值而不是 ID 的事实。所以我不得不给它这个设定值而不是ID。谢谢!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-17
    • 2012-01-20
    • 2016-05-28
    • 1970-01-01
    • 1970-01-01
    • 2017-05-08
    • 2020-07-24
    • 1970-01-01
    相关资源
    最近更新 更多