Это мой код на модели пациента:
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'));
так что я могу свободно манипулировать им
Мы получим другую таблицу отношений, используя ‘with ()’
$patients = Patient::whereDoesntHave('users', function ($q) use ($vaccine_id) {
$q->where('vaccine_id', '=', $vaccine_id);
$q->with('Vaccine', 'immunizations');
})->get();
Попробуй это.
Других решений пока нет …