У меня есть две таблицы, и я пытаюсь join
их получить, чтобы получить все ссылочные таблицы, но получаю ошибки, но я не уверен, в какой части я делаю ошибку, может кто-нибудь помочь мне?
У меня есть эта таблица миграции для билетов
public function up()
{
Schema::create('tickets', function (Blueprint $table) {
$table->increments('id');
$table->string('ticketNumber')->nullable(true)->unique();
$table->boolean('is_deleted')->default(false);
$table->timestamps();
});
}
У меня есть эта таблица, в которой сохраняются заметки для билетов ticket_notes
, и я использую ticketNumber
вместо id
public function up()
{
Schema::defaultStringLength(191);
Schema::create('ticket_notes', function (Blueprint $table) {
$table->string('ticketNumber');
$table->foreign('ticketNumber')->references('ticketNumber')->on('tickets');
$table->increments('id');
$table->string('rloc', 50);
$table->boolean('is_deleted')->default(false);
$table->timestamps();
});
}
Я использую query builder
, чтобы выполнить запрос вместо eloquent relationships
DB::table('tickets')->where([
'ticketNumber' => 12345,
'is_deleted' => false,
])
->join('ticket_notes', 'tickets.ticketNumber', '=', 'ticket_notes.ticketNumber')
->select('tickets.*');
Я получаю эту ошибку SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'ticketNumber' in where clause is ambiguous (SQL: select
tickets .* from
Tickets inner join
ticket_notes on
tickets .
ticketNumber =
ticket_notes .
ticketNumber where (
ticketNumber = 12345 and
is_deleted = 0))
Кто-нибудь может дать мне свежий взгляд, где я ошибся с объединением?Заранее спасибо за любые предложения / помощь.