laravel соединение по запросу не работает и выдает неоднозначную ошибку - PullRequest
0 голосов
/ 05 октября 2019

Я пытаюсь добавить join к моему построителю запросов, и я получаю эту ошибку:

сообщение: «SQLSTATE [23000]: нарушение ограничения целостности: 1052« Идентификатор столбца », гдепредложение неоднозначно (SQL: выберите * из accommodation_rooms внутреннее объединение room_pricing_histories в accommodation_rooms. id = room_pricing_histories. accommodation_room_id и room_pricing_histories. from_date = 2019-10-05 15:49: 21 где id в (1, 2) порядке по room_pricing_histories. sales_price предел 1с "), код:" 23000 ", код статуса: 500,

Это мой кодздесь

public function cheapestRoom()
{
    $roomIds = $this->accommodationRooms()->pluck('id')->toArray();
    return AccommodationRoom::whereIn('id', $roomIds)
        ->join('room_pricing_histories', function ($join) {
            $join->on('accommodation_rooms.id', '=', 'room_pricing_histories.accommodation_room_id')
                ->where('room_pricing_histories.from_date', Carbon::now());
        })
        ->orderBy('room_pricing_histories.sales_price', 'DESC')
        ->first();
}
public function getCheapestRoomAttribute()
{
    return $this->cheapestRoom();
}
protected $appends = ['cheapest_room'];

я пытаюсь найти самый дешевый номер и добавить его к модели отеля

1 Ответ

1 голос
/ 05 октября 2019

Обновите условие запроса whereIn, чтобы указать, из какой таблицы запрашивать

Либо

return AccommodationRoom::whereIn('accommodation_rooms.id', $roomIds)

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...