gpt4 book ai didi

php - 如何知道我的关系何时返回一个对象以及何时返回一个数组?

转载 作者:行者123 更新时间:2023-12-02 09:08:24 24 4
gpt4 key购买 nike

我的模型中几乎没有关系回复:

/** Reply.php */

public function thread()
{

return $this->belongsTo(Thread::class);
}

public function user()
{
return $this->belongsTo(User::class);
}

我的回复表有 user_idthread_id

然后我尝试获取用户名,我这样做:

$reply->user->name

而且它有效。

但是当我尝试获取线程标题时:

$reply->thread->title

我收到错误:

Trying to get property title of non-object

如果需要仅获取标题,我知道的方法是:

$reply->thread['title']

我使用的方法有什么区别?为什么在一种情况下我将用户作为对象获取,而在另一种情况下我将线程作为数组获取?


更新:

我的回复模型关系:

public function user()
{
return $this->belongsTo(User::class);
}

public function favorites()
{
return $this->morphMany(Favorite::class, 'favorited');
}

public function thread()
{
return $this->belongsTo(Thread::class);
}

我的线程模型关系:

public function replies()
{
return $this->hasMany(Reply::class);
}

public function user()
{
return $this->belongsTo(User::class);
}

public function category()
{
return $this->belongsTo(Category::class);
}

和我的User模型关系:

public function threads()
{
return $this->hasMany(Thread::class)->latest();
}

public function replies()
{
return $this->hasMany(Reply::class)->latest();
}

最佳答案

当你制作时

one to one

关系,然后关系将返回对象当你做

one to many

关系将返回对象数组

关于php - 如何知道我的关系何时返回一个对象以及何时返回一个数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55326231/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com