laravel 数据库关联中无法获取本身的值?

沉睡の黑暗
  • 293
public function roles()
{
    return $this->hasOne('App\Models\Role')->where('type',$this->type);
}

$this->type 获取不到任何值?这是为什么?
$this->attributes的值也是空数组,这是为什么啊?

回复
阅读 1.5k
2 个回答

这个写法看你怎么用了,如果你是用:

$Obj->with(['roles'])->get();
这种用法应该是拿不到值的。

如果是:
$model = $Obj->find('1');
$result = $model->roles()->get();
应该是有结果的。

是不是你的模型本身就是空的?你可以直接打印出$this看看,是不是一个有记录的模型。

刚才我专门测试了一下,你上面的语句,是能成功执行的,并且可以获得this下的属性。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏