Как получить Car_type, Marks и модель в контроллере Laravel? - PullRequest
0 голосов
/ 15 марта 2019

Как получить результаты на основе выбранных полей.если car_type был выбран, чтобы получить автомобиль, если audi был выбран, чтобы получить только модели для audi.Пример выбора пользователем car_type Car, get Marks, выбора пользователем Mark Audi, получил A1, A2.Пользователь выбрал BMW получил X6, X5.Я подключаю все, что нужно только для получения данных из базы данных.Посмотрите мой код.

Таблица типов машин:

    $table->increments('id');
    $table->string('name');
    $table->timestamps();

Таблица марок:

$table->increments('id');
$table->string('name');
$table->timestamps();
$table->integer('car_type_id');

Таблица моделей:

    $table->increments('id');
    $table->integer('mark_id');
    $table->string('name');
    $table->timestamps();
    $table->integer('car_type_id');

Модель автомобиля:

public function marks(){
    return $this->hasMany(Mark::class);
}

Марка модели:

public function car_type(){
    return $this->belongsTo(Car_type::class);
}
public function carmodels(){
    return $this->hasMany(CarModel::class);
}

Модель CarModel:

public function mark(){
    return $this->belongsTo(Mark::class);
}

Теперь мне нужно получить данные в контроллере.Я пытаюсь это

$car_type = Car_type::where('id' , $id)->first();
return $car_type->marks()->get();

Получить оценки с идентификатором модели car_type 1, но это плохая логика.

1 Ответ

0 голосов
/ 15 марта 2019

Вы можете просто взять отметки машины, чтобы выполнить один запрос вместо 2.

return Mark::where('car_type_id', $id)->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...