即使ID正确,Laravel Eloquent也会返回空模型

时间:2017-07-09 16:46:33

标签: laravel model routes eloquent parameter-passing

所以我有一个Axios get请求到这条路线:

/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));
}

那么,这里可能出现什么问题?我非常感谢任何提示!

1 个答案:

答案 0 :(得分:0)

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