Laravel: Запрос дочернего элемента с использованием родительской информации

#php #laravel #eloquent

Вопрос:

У меня есть родительская таблица и дочерняя таблица, я смог соединить их с помощью belongsTo модели.

 Child Model 

public function item()
    {
        return $this->belongsTo('AppModelsParentModel', 'parent_id', 'id');
    }
 
Родительская таблица Child_Table
ID ID
сущность parent_id
имя элемента
item_description

Что я хочу сделать, так это запросить свою дочернюю таблицу, используя родительскую информацию, но я не могу заставить ее работать

 ChildModel::where(item.entity, '$entity')->get();
 

Ответ №1:

Ваши отношения будут

 public function item()
{
        return $this->belongsTo(ParentModel::class, 'parent_id', 'id');
}
 

и в запросе используйте wherehas для проверки сущности

 ChildModel::with('item')->whereHas('item',function($query)use($entity){
    $query->where('entity',$entity);
})->get();
 

Комментарии:

1. о. поэтому вам нужно использовать with() то, что я пробовал whereHas , но не с помощью с. спасибо за это. **Перезарядка для принятия ответа

2. @VincentDapiton без с также работает, но он не возвращает родительскую информацию для каждого