laravel中多表的关系

时间:2013-12-10 14:19:51

标签: php laravel

我有ModelNos表,其中包含对manufacturer表和系列表的引用 你能告诉我如何在ModelNos表中定义关系,以便我可以检索制造商和 系列数据

2 个答案:

答案 0 :(得分:0)

假设您拥有这些雄辩的模型:ModelNoManufacturerSeries

class ModelNo extends Eloquent {

    function manufacturer(){
        return $this->hasMany('Manufacturer');
    }

    function series(){
        return $this->hasMany('Series');
    }

}

class Manufacturer extends Eloquent {

    function modelNo(){
        return $this->belongsTo('ModelNo');
    }

}

class Series extends Eloquent {

    function modelNo(){
        return $this->belongsTo('ModelNo');
    }

}

然后,如果你想获得所有ModelNos,你可以使用:

$modelnos = ModelNo::all();

并打印出来:

foreach($modelnos as $modelno){

    // assuming both have an 'id' field
    echo $modelno->manufacturer->id; 
    echo $modelno->series->id;

}

答案 1 :(得分:0)

查看docs

您应该使用belongsTo($className)ModelNo映射某个制造商,或hasMany($className)如上所述,如果它是一个集合。