laravel之orm模型關聯


1、一對一關系

$this->hasOne(關聯model[關聯model的聯系鍵][model的聯系鍵]);

return $this->hasOne(Extuser::class, 'uid', 'id');

關聯表中的外鍵名 user_id   本表中的主鍵IDid

return $this->hasOne(Extuser::class);

編寫一對一關系

// 用戶主表對用戶從表  一對一 模型中方法
public function userExt() {
return $this->hasOne(UserExt::class);
}
//控制器中使用
$user = User::with('userExt')->find(1);
dump($user->toArray());

2、一對多關系
在實際的項目中一個用戶發表多篇的文章,這樣的關系就是一對多的關系。

$this->hasMany(關聯model[關聯model的聯系鍵][model的聯系鍵]);

return $this->hasMany(App\Phone::class, 'foreign_key', 'local_key');

// 一對多 模型
public function articles() {
return $this->hasMany(Article::class,'uid');
}
//控制器
$data = User::with('articles')->find(1);
dump($data->toArray());

3、多對多關系

$this-> belongsToMany(關聯表model,中間表表名,中間表中本model關聯ID,中間表中關聯modelID);

return $this->belongsToMany(App\User::class, 'user_auth_table', 'user_id', 'auth_id');

// 多對多 模型
public function auths(){
return $this->belongsToMany(Auth::class,'user_auth','user_id','auth_id');
}
$user = User::find(1);
$data = $user->auths();
dump($data->get()->toArray());

 



 
        



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM