无法访问 属性 个模型查询结果,共 eloquent 个
Unable to access property of eloquent model query result
我遇到了一个我认为是常见的问题,但我还没有找到相关的解决方案。
在我的 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);
}
以下returns一个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
知道为什么会这样吗?
您可以像这样访问关系
$review->barterReviewFeedback->id
因为你们的关系是barterReviewFeedback
而不是barter_review_feedback
我遇到了一个我认为是常见的问题,但我还没有找到相关的解决方案。
在我的 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);
}
以下returns一个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
知道为什么会这样吗?
您可以像这样访问关系
$review->barterReviewFeedback->id
因为你们的关系是barterReviewFeedback
而不是barter_review_feedback