[ ПРОБЛЕМА ] В вашем коде
$dataCategory = Category::all();
$video = Video::where('lokit_category_id', $dataCategory)->get();
$dataCategory
- это коллекция экземпляров модели всех записей в вашем lokit_category table.
[ SOLUTION ] Вы не можете сравнить collection
с полем, которое ожидает id
в вашем случае в операторе where.
lokit_category_id
должно быть по сравнению с идентификатором категории .
Если у вас есть lokit_category_id
$videos = Video::where('lokit_category_id', $lokit_category_id)->get();
dd($videos);
Если у вас есть имя категории lokit_category, получите идентификатор, используя это имя, а затем выполните запрос.
// Get the category for which you want to get all the videos.
$categoryName = 'CATGEORY NAME';
$category = Category::where('name', $categoryName)->first();
$videos = Video::where('lokit_category_id', $category->id)->get();
dd($videos);
[ ЕСЛИ ВЫ ХОТИТЕ ВИДЕО В ОТНОШЕНИИ КАТЕГОРИИ ]
В вашей модели категории
public function videos(){
return $this->hasMany(App\Video::class, 'lokit_catgeory_id', 'id');
}
Контроллер
Используйте нетерпеливую загрузку , так как это поможет уменьшить количество запросов.
$categories = Category::with('videos')->get();
foreach($categories as $category){
// You can access the videos for the category using the videos relation.
$category->videos;
}