#php #mysql #sql #laravel-8
Вопрос:
Нарушение ограничения целостности: 1052 Столбец «идентификатор» в предложении where неоднозначен (SQL: выберите *
kumeti_member_registrations
слева от соединенияmembers list
members list
.id
=kumeti_member registrations
.member_name
гдеid
= 2)»,
этот запрос, пожалуйста, устраните ошибку
$result = DB::table('kumeti_member_registrations') -gt;leftjoin('members_list', 'members_list.id', '=', 'kumeti_member_registrations.member_name') -gt;where('id', $id) -gt;get();
Ответ №1:
Вам необходимо указать имя таблицы, id
которое является общим для обеих таблиц и поэтому неоднозначно
Так
-gt;where('kumeti_member_registrations.id', $id)
Комментарии:
1. я думаю, что это не ошибка псевдонима
Ответ №2:
Попробуй это:
$result = DB::table('kumeti_member_registrations') -gt;leftjoin('members_list', 'members_list.id', '=', 'kumeti_member_registrations.member_name') -gt;where('kumeti_member_registrations.id', $id) -gt;get();
Комментарии:
1. Зачем оператору пытаться это сделать? Хорошие ответы всегда будут содержать объяснение того, что было сделано и почему это было сделано таким образом, не только для ОП, но и для будущих посетителей, чтобы они могли найти этот вопрос и прочитать ваш ответ. Если на него будет дан хороший ответ, возможно, они поднимут его.