Laratable неоднозначные колонки на поиске - PullRequest
0 голосов
/ 25 мая 2019

Я пользуюсь Laravel 5.и в моей PartnersVehicles модели у меня есть эта функция

    public static function laratablesQueryConditions($query)
    {
        $uid = Auth::id(); //user ID
        $pid = Partners::where('uid', $uid)->first(); //get partner ID

        return $query->select('partners_vehicles.id', 'partners_vehicles.year', 'vehicle_makes.make', 'partners_vehicles.model', 'vehicle_colors.color', 'partners_vehicles.created_at')
        ->join('vehicle_makes', 'vehicle_makes.id', '=', 'partners_vehicles.make')
        ->join('vehicle_colors', 'vehicle_colors.id', '=', 'partners_vehicles.color')
        ->where('partners_vehicles.partner_id', $pid->id);

    } 

таблица загружается нормально, но когда я пытаюсь выполнить поиск ajax в окне поиска, я получаю эту ошибку ниже

Нарушение ограничения целостности: 1052 Столбец 'make' в выражении where является неоднозначным (SQL: выберите count (*) как совокупность из partners_vehicles внутреннее объединение vehicle_makes в vehicle_makes. id = partners_vehicles. make innerприсоединитесь vehicle_colors к vehicle_colors. id = partners_vehicles. color, где partners_vehicles. partner_id = 7 и (year как% 2% или make как% 2% или model как% 2% или color как% 2%))

Я пытался изменить свой выбор на это, но все равно не повезло

select('partners_vehicles.id', 'partners_vehicles.year', 'vehicle_makes.make AS `make`', 'partners_vehicles.model', 'vehicle_colors.color', 'partners_vehicles.created_at')

Есть идеи, как это исправить?что мне не хватает?Спасибо

1 Ответ

0 голосов
/ 28 мая 2019

Попробуйте этот код

public static function laratablesQueryConditions($query)
{
    $uid = Auth::id(); //user ID
    $pid = Partners::where('uid', $uid)->first(); //get partner ID
    $res=DB::table('partners_vehicles')
         ->select('partners_vehicles.id', 'partners_vehicles.year', 'vehicle_makes.make', 'partners_vehicles.model', 'vehicle_colors.color', 'partners_vehicles.created_at')
         ->join('vehicle_makes', 'vehicle_makes.id', '=', 'partners_vehicles.make')
         ->join('vehicle_colors', 'vehicle_colors.id', '=', 'partners_vehicles.color')
         ->where('partners_vehicles.partner_id','=', $pid->id)
         ->get();
   return $res;
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...