我有以下型号
<?php
namespace App\Models\Masters\System;
class UserActivationCode extends \Illuminate\Database\Eloquent\Model
{
public $table = "user_activation_codes";
}
<?php
namespace App\Models;
use App\Models\Model;
use Modules\Requests\Models\EmploymentLeaveType;
use App\Models\Masters\System\UserActivationCode;
class EmployeeEmployment extends \Illuminate\Database\Eloquent\Model {
public $table = "employee_employments";
public function employeeProfileScore() {
return $this->hasOne('\App\Models\EmployeeProfileScore', 'employee_id', 'employee_id');
}
public function test() {
return $this->hasMany(UserActivationCode::class, 'employment_id', 'id');
}
}
当我运行以下命令时
$emp = \App\Models\EmployeeEmployment::with('test')->whereIn('id', ["4228e839-5ce3-4798-acfd-68958fed3b82"])->first();
$emp->test;
结果是空数组
但是当我运行时不使用它会返回数据
$emp = \App\Models\EmployeeEmployment::whereIn('id', ["4228e839-5ce3-4798-acfd-68958fed3b82"])->first();
$emp->test;
我从模型中删除了所有内容,将其转换为基本状态 在查询中,我运行以下查询,我无法理解为什么雇佣_id 为 0
检查您的测试关系是如何加载的。外键与数据库中设置的内容之间是否可能不匹配?确保 user_activation_codes 表中的雇佣_id 和 id 在数据库中具有相同的类型(如果您使用 UUID,则均为 UUID)。