php / laravel — выбрать столбец другой таблицы, используя ownToMany of laravel

Это мой код на модели пациента:

class Patient extends Model
{
protected $primaryKey = 'PatientID';

public function users()
{
return $this->belongsToMany('App\Vaccine', 'immunizations', 'patient_id', 'vaccine_id');
}
}

и это мой запрос

$patients = Patient::whereDoesntHave('users', function ($q) use ($vaccine_id) {
$q->where('vaccine_id', '=', $vaccine_id);
})->get();

В моей текущей ситуации я могу получить только данные столбца модели пациента, но не другие таблицы. Где я должен положить select() метод выбора строк и столбцов таблицы иммунизации, потому что я хочу установить цепочку where()или состояние, которое является where('immunizations_id', 1) но это не работает, потому что таблица иммунизаций не выбрана.

или кто-нибудь здесь знает, как преобразовать его без использования замыкания, как сделать это

Patient::wheredoesnthave(join('table')); так что я могу свободно манипулировать им

1

Решение

Мы получим другую таблицу отношений, используя ‘with ()’

$patients = Patient::whereDoesntHave('users', function ($q) use ($vaccine_id) {
$q->where('vaccine_id', '=', $vaccine_id);
$q->with('Vaccine', 'immunizations');
})->get();

Попробуй это.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector