laravel - Laravel belongsTo 关系获取“非对象的属性”
问题描述
当我尝试从 belongsTo 关系中获取数据时,我遇到了问题。
用户
public function profileImage()
{
$this->morphClass = 'profileImage';
return $this->morphOne('App\Models\Image', 'imageable');
}
并在邮政
protected $with = ['creator'];
protected $hidden = ['creator'];
protected $appends = ['creator_image'];
public function getCreatorImageAttribute()
{
return $this->creator->profileImage->url; // Error
// return dd($this->creator->profileImage->url); // dd line
}
public function creator()
{
return $this->belongsTo('App\Models\User','creator_id');
}
并在数据库表中:
User: {
id
}
Post: {
id,
creator_id
}
有趣的部分就在这里:当我使用 dd 行时,我得到了我想要的,没有任何错误
但是当我使用实线时,我得到了错误
Trying to get property 'profileImage' of non-object
我在这一行中调用它:
Model::with('posts')->find($id);
解决方案
推荐阅读
- sql - 将 REGEXP_CONTAINS 与子字符串列表一起使用
- graphql - 如何使用动态别名在单个请求中多次调用 GraphQL 突变
- flutter - 颤抖我想得到列表
一一作为int - keras - 如何保存将使用 CNN 提取的特征以在分类过程中选择其中一些特征
- reactjs - 在 SSR 期间发生 Gatsby 路径错误
- visual-studio - 源代码管理“获取最新”显示“源代码管理已尝试执行授权操作”
- stan - Stan 中的 3PL IRT 模型
- react-native - React 本机 dateTimePicker 不会设置初始化日期
- monit - 监控 SSL/TLS 版本未针对端口 2812 更新?
- azure - 使用 Blob 触发器调用 Azure 函数