У меня есть следующие модели
ReleasePackages
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class ReleasePackages extends Model
{
public $timestamps = false;
/**
*/
public function artifacts()
{
return $this->belongsToMany(
'App\Models\Artifacts',
'release_packages_artifacts',
'release_package_id',
'artifact_id'
);
}
public function created_by()
{
return $this->hasOne('App\Models\Users', 'id');
}
public function approved_by()
{
return $this->hasOne('App\Models\Users', 'id');
}
}
и Users
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Users extends Model
{
public function release_packages()
{
return $this->hasOne('App\Models\ReleasePackages', 'created_by');
}
}
Теперь для каждого пакета выпуска есть два столбца, которые связан с Users
. Один - created_by
, другой - approved_by
. Я пытаюсь установить это отношение с помощью приведенного выше кода, но когда я вызываю
$packages = ReleasePackages::with(['artifacts','created_by','approved_by'])->get();
, я не получаю отношения с Users
. У меня есть соответствующий идентификатор пользователя в таблице пользователей, а имя столбца - id. Я получаю следующий ответ из приведенного выше кода контроллера:
#relations: array:3 [▼
"artifacts" => Collection {#265 ▶}
"created_by" => null
"approved_by" => null
]
как я могу изменить код, чтобы отношения работали правильно?