我有以下型號ReleasePackages<?phpnamespace 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<?phpnamespace 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。我在 users 表中有相應的用戶 id,列名是 id。我從上面的控制器代碼中得到以下響應: #relations: array:3 [▼ "artifacts" => Collection {#265 ?} "created_by" => null "approved_by" => null ]我怎樣才能更改代碼以使關系正常工作?
1 回答

小怪獸愛吃肉
TA貢獻1852條經驗 獲得超1個贊
你的關系錯了created_by(),approved_by()應該是belongsTo
public function created_by()
{
return $this->belongsTo('App\Models\Users', 'created_by','id');
}
public function approved_by()
{
return $this->belongsTo('App\Models\Users', 'approved_by','id');
}
- 1 回答
- 0 關注
- 111 瀏覽
添加回答
舉報
0/150
提交
取消