【发布时间】:2020-06-02 17:03:14
【问题描述】:
我遇到了我认为常见的问题,但我没有找到相关的解决方案。
在我的 Laravel 应用程序中,我在两个模型之间设置了关系:BarterReview 和 BarterReviewFeedback。
BarterReview.php
public function barterReviewFeedback () {
return $this->hasOne(BarterReviewFeedback::class, 'barter_review_id');
}
BarterReviewFeedback.php
public function barterReview () {
return $this->belongsTo(BarterReview::class);
}
以下返回一个 BarterReview 以及关联的 BarterReviewFeedback:
$review = \App\BarterReview::with('barterReviewFeedback')->find(1);
return $review;
格式化后的结果 ($review) 如下所示:
{
"id": 1,
"created_at": "2020-04-06T20:13:15.000000Z",
"updated_at": "2020-04-06T20:13:15.000000Z",
"rating": 5,
"comment": "Five out of Five!",
"user_id": 2,
"barter_id": 1,
"barter_review_feedback": {
"id": 3,
"created_at": "2020-06-02T16:34:41.000000Z",
"updated_at": "2020-06-02T16:34:41.000000Z",
"barter_review_id": 1,
"user_id": 1,
"content": "test"
}
}
问题是我无法访问对象内部的“barter_review_feedback” - $review->barter_review_feedback 不显示任何内容。
此外,尝试直接访问 $review->barter_review_feedback 内部的属性(例如 $review->barter_review_feedback->id)会产生以下错误:Trying to get property 'id' of non-object
关于为什么会这样的任何想法?
【问题讨论】:
标签: laravel eloquent model eloquent-relationship