亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何正確指定 Eloquent 模型之間的關系

如何正確指定 Eloquent 模型之間的關系

PHP
拉莫斯之舞 2023-04-21 13:59:14
我有以下型號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');

}


查看完整回答
反對 回復 2023-04-21
  • 1 回答
  • 0 關注
  • 111 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號