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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Laravel 雄辯:表的兩個(gè)所有者之間的關(guān)系

Laravel 雄辯:表的兩個(gè)所有者之間的關(guān)系

PHP
牛魔王的故事 2022-01-08 14:44:55
我有三張表學(xué)生、課程和成績(jī)。并且grade有兩個(gè)外鍵:student_id和course_id,它屬于兩個(gè)表。class Grade extends Model{    public function student()    {        return $this->belongsTo('App\Student');    }    public function course()    {        return $this->belongsTo('App\Course');    }}此外,學(xué)生和課程有很多成績(jī):class Student extends Model{    public function grades()    {        return $this->hasMany('App\Grade');    }}和class Course extends Model{    public function grades()    {        return $this->hasMany('App\Grade');    }}現(xiàn)在,我想在學(xué)生和課程之間建立關(guān)系,例如,對(duì)于 student1,我想檢索所有有成績(jī)的課程。像這樣的東西,但它不正確:$student1->grades->course我可以簡(jiǎn)單地寫@foreach($student1->grades as $grade)      $grade->course@endforeach但我不想要它,我想($courses as $course)在我的 foreach 循環(huán)中。
查看完整描述

2 回答

?
千萬(wàn)里不及你

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超9個(gè)贊

我建議您需要參考https://laravel.com/docs/5.8/eloquent-relationships#has-many-through鏈接來(lái)實(shí)現(xiàn)這一點(diǎn),


在學(xué)生模式中添加hasManyThrough關(guān)系。


public function courses()

    {

        return $this->hasManyThrough(

            'App\Course',

            'App\Grade',

            'course_id', // Foreign key on Grade table...

            'id', // Foreign key on Course table...

            'id', // Local key on Student table...

            'student_id' // Local key on Grade table...

        );

    }

我沒(méi)有測(cè)試過(guò)這段代碼,但是,這就是方式


查看完整回答
反對(duì) 回復(fù) 2022-01-08
?
茅侃侃

TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超21個(gè)贊

讓成績(jī)表成為學(xué)生和課程之間多對(duì)多關(guān)系的數(shù)據(jù)透視表怎么樣?


class Student

{

    // an alternative name could be gradedCourses.

    public function courses()

    {

        return $this->belongsToMany(Course::class, 'grades');

    }

}

因此,您可以直接從這種關(guān)系中訪問(wèn)課程。


@foreach($student->courses course)

      $course->name

@endforeach


查看完整回答
反對(duì) 回復(fù) 2022-01-08
  • 2 回答
  • 0 關(guān)注
  • 152 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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