【发布时间】:2021-10-28 00:06:39
【问题描述】:
我很绝望。这是关于这种模型关系的:
public function customer()
{
return $this->hasOne('App\Models\InvoiceCustomer', 'invoice_id', 'id');
}
当我执行查询时,我得到三个结果。两个与 InvoiceCustomer 模型的正确关系,但一个结果总是 customer: null。
Invoice::whereHas(['customer'])->get();
invoice.id 字段值与数据库中的 invoice_customers.id 完全一致。
这是两个表的db架构:
数据库:invoice_customers
Schema::create('invoice_customers', function (Blueprint $table) {
$table->foreignUuid('invoice_id')->references('id')->on('invoices')->cascadeOnDelete();
$table->string('number');
$table->string('salutation');
$table->string('first_name');
$table->string('last_name');
$table->string('street');
$table->string('house_number');
$table->string('postcode');
$table->string('city');
$table->string('email');
$table->timestamps();
});
数据库:发票:
Schema::create('invoices', function (Blueprint $table) {
$table->uuid('id')->primary();
$table->foreignUuid('company_id')->references('id')->on('companies')->cascadeOnDelete();
$table->string('number');
$table->string('status');
$table->timestamp('date');
$table->decimal('total');
$table->string('type');
$table->json('additional_data')->default('{}');
$table->timestamps();
});
我希望有人有一个想法,或者以前可能有过这样的问题。
我很感激每一个答案。如果您还需要什么,请告诉我。非常感谢!
【问题讨论】:
标签: php laravel eloquent relationship