第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

多對多 toArray() 覆蓋中的最大堆棧深度超出問題

多對多 toArray() 覆蓋中的最大堆棧深度超出問題

PHP
開滿天機 2021-11-05 13:02:53
我有 2 個模型,用戶和部門。這兩者之間有著多對多的關(guān)系。當(dāng)我嘗試在 Model 類中將字段與toArray()方法相關(guān)聯(lián)時,出現(xiàn)最大堆棧深度超出錯誤。部門型號 :class Department extends Model{    public function users()    {        return $this->belongsToMany(User::class);    }    public function toArray()    {        $arr = parent::toArray();        $arr['users'] = $this->users;        return $arr;    }}用戶模型:class User extends Model{    public function departments()    {        return $this->belongsToMany(Department::class);    }    public function toArray()    {        $arr = parent::toArray();        $arr['departments'] = $this->departments;        return $arr;    }}擁有這種 JSON 輸出的正確方法是什么?/api/部門:{    "success": true,    "data": [        {            "id": 1,            "caption": "asd",            "status": "active",            "users": []        }    ]}/api/用戶:{    "success": true,    "data": [        {            "id": 1,            "username": "asdasd",            "email": "m@m.m",            "status": "active",            "departments": []        }    ]}
查看完整描述

2 回答

?
慕容708150

TA貢獻1831條經(jīng)驗 獲得超4個贊

這對我有用:


public function with($id, $relations, $columns = ['*'])

{

    $query = $this->model->newQuery();

    $query = $query->with($relations);

    return $query->find($id, $columns);

}


查看完整回答
反對 回復(fù) 2021-11-05
?
互換的青春

TA貢獻1797條經(jīng)驗 獲得超6個贊

在做你正在做的事情時,你基本上要創(chuàng)建一個可以無限期運行的數(shù)組。


首先,toArray()從兩個模型中刪除方法,實際上幾乎沒有理由覆蓋此方法。


為了實現(xiàn)您想要的,您可以在需要時使用with()簡單地加載關(guān)系,例如


public function show($id)

{

    return User::with('departments')->findOrFail($id);

}

如果您正在使用路由模型綁定或者您剛剛檢索了模型,您可以使用load()(延遲預(yù)加載)代替:


public function show(User $user)

{

    $user->load('departments');


    return $user;

}


查看完整回答
反對 回復(fù) 2021-11-05
  • 2 回答
  • 0 關(guān)注
  • 150 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號