我目前在運(yùn)行 Bonus::with('users')->get() 時(shí)得到以下數(shù)組結(jié)構(gòu)我曾嘗試添加數(shù)組并合并類似的鍵,但它不起作用。我嘗試使用 laravel 中提供的輔助方法,但似乎無法使其正常工作。[{"id": 1,"users_id": 1,"bonus_type_id": 1,"is_paid": 0,"amount": "100.00","description": "desc","note": null,"created_by": 2,"last_modified_by": null,"created_at": null,"updated_at": null,"deleted_at": null,"user": {"id": 1,"name": "test","email": "test@testing.com","email_verified_at": null,"status": 1,"created_at": "2019-07-18 11:41:35","updated_at": "2019-07-18 11:41:35","deleted_at": null}},{"id": 2,"users_id": 1,"bonus_type_id": 2,"is_paid": 0,"amount": "100.00","description": "desc","note": null,"created_by": 2,"last_modified_by": null,"created_at": null,"updated_at": null,"deleted_at": null,"user": {"id": 1,"name": "test","email": "test@testing.com","email_verified_at": null,"status": 1,"created_at": "2019-07-18 11:41:35","updated_at": "2019-07-18 11:41:35","deleted_at": null}},{"id": 3,"users_id": 2,"bonus_type_id": 2,"is_paid": 1,"amount": "100.00","description": "desc","note": null,"created_by": 2,"last_modified_by": null,"created_at": null,"updated_at": null,"deleted_at": null,"user": {"id": 1,"name": "another test","email": "another@testing.com","email_verified_at": null,"status": 1,"created_at": "2019-07-18 11:41:35","updated_at": "2019-07-18 11:41:35","deleted_at": null}}]我希望結(jié)果是這樣的[ { user_id: 1, name: "test", bonuses: [ { bonus_type_id: 1, amount: 100, is_paid: 0, }, { bonus_type_id: 2, amount: 100, is_paid: 0, } ], }, { user_id: 2, name: "another", bonuses: [ { bonus_type_id: 2, amount: 100, is_paid: 1, }, ] }]
2 回答

POPMUISE
TA貢獻(xiàn)1765條經(jīng)驗(yàn) 獲得超5個(gè)贊
你需要改變你雄辯的關(guān)系。在模型內(nèi)部為獎(jiǎng)金表定義hasMany
關(guān)系函數(shù)并使用它來獲得所需的結(jié)果,如下所示:bonuses
User
User::with('bonuses')->get();
這樣它將從用戶表返回結(jié)果并為每個(gè)用戶填充獎(jiǎng)金。
說得通?

白衣染霜花
TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超10個(gè)贊
您可以使用 select 子查詢獲取特定信息,如果您的關(guān)系設(shè)置正確,這應(yīng)該可以工作。
User::select('user_id','name','bonus_id')
->with(array('bonuses'=> function($query){
$query->select('bonus_type_id','amount','is_paid');
}))->get();
- 2 回答
- 0 關(guān)注
- 123 瀏覽
添加回答
舉報(bào)
0/150
提交
取消