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

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

無法使用函數 belongsToMany 從表中獲取數據

無法使用函數 belongsToMany 從表中獲取數據

PHP
一只名叫tom的貓 2022-10-28 16:55:30
我正在嘗試將學生數據與組數據一起存儲在數組中。例如:groupsid - 1name - P1student_id - 1id - 2name - P1student_id - 2id - 3name - P2student_id - 3在這里我想要這樣的門數據[  {name: 'P1', students: [{id: 1, name: 'John'}, {id: 2, name: 'Liza'}]},  {name: 'P2', students: [{id: 3, name: 'Bob'}]},]表:usersid - bigint unsignedname - string...other columns團體id - bigint unsignedname - stringstudent_id...other columnsGroup.php 模型<?phpnamespace App;use Illuminate\Database\Eloquent\Model;class Groups extends Model{    public $table = "groups";    public $timestamps = false;    public function students(){        return $this->belongsToMany('App\User', 'groups', 'student_id', 'id');    }}用戶控制器.phppublic function groupsAdmin(){   return view("groups", ["groups" => Groups::with(['students'])->get()]);}使用此代碼,我得到了空的學生數組。
查看完整描述

1 回答

?
眼眸繁星

TA貢獻1873條經驗 獲得超9個贊

它的,belongsToMany 從用戶到組,所以它應該是這樣的。


您需要另一個表(數據透視表),將其命名為 group_user。


group_user table:-

user_id

group_id

并從 grups 表中完全刪除 student_id。


現在轉到用戶模型并輸入此方法:


public function groups()

{

    return $this->belongsToMany(Group::class);

}

并轉到組模型并輸入此代碼


 public function users()

 {

    return $this->belongsToMany(User::class);

 }

使用上面的代碼,您可以訪問來自用戶的組和來自組的用戶,如下所示:


$user = User::first();

$groups = $user->groups;

希望這會有所幫助,請參閱此處的文檔: Eloquent Many to Many relationship


查看完整回答
反對 回復 2022-10-28
  • 1 回答
  • 0 關注
  • 92 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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