无法从Laravel Eloquent Relationships获取数据



我想访问content_type_id的值。我尝试过像$courseChapters['chapter_content']['content_type_id']$courseChapters['content_type_id']$courseChapters[0]['content_type_id']&$courseChapters['chapterContent']['content_type_id']。所有这些都显示了错误ErrorException: Undefined index: content_type_id。我还尝试了foreach循环中我在下面评论的所有内容。什么都不管用。有人能告诉我怎么修吗?

/*foreach($courseChapters as $key){
// $contentTypeId=$key->first(); //Call to a member function first() on int
//  $contentTypeId=$key->first()->chapter_content; //Call to a member function first() on int
//  $contentTypeId=$key['chapter_content']['content_type_id']; //error - Illegal string offset
//  $contentTypeId=$key[0]['content_type_id']; ////error - Illegal string offset
//  $contentTypeId=$key['content_type_id']; //error - Illegal string offset 'content_type_id' 
}*/
$courseChapters = courseChapter::with(['chapterContent' => function ($q) use ($id) { $q->where('course_chapter_id', $id)->select('course_chapter_id','file_id','content_type_id');}])
->select('id','courseId', 'chapter_title', 'isExam', 'points')
->get()->toArray()[0];

标题##dd($courseChapters);显示如下所示的数组:

array:6 [
"id" => 4
"courseId" => 24
"chapter_title" => "chapter1"
"isExam" => false
"points" => 8
"chapter_content" => array:1 [
0 => array:3 [
"course_chapter_id" => 4
"file_id" => 1
"content_type_id" => 1
]
]
]

像这样访问第一个

echo $courseChapters['chapter_content'][0]['content_type_id'];

或者像这样访问所有

foreach ($courseChapters['chapter_content'] as $chapter) {
echo $chapter['content_type_id'];
}

相关内容

  • 没有找到相关文章

最新更新