2017-11-04 19 views
0

バナーテーブル内にはメディアギャラリーも参照する別のフィールドimage_idがあります。このバナーモデルを定義するには、ビデオ_id belongsTo mediagalleryを定義しました。私はこれに関する助けが必要ですLaravelのモデルで同じ親テーブルを参照する2つのフィールドを定義する方法を知っておく必要があります

//********** Banner model *************************** 

namespace App; 

use Illuminate\Database\Eloquent\Model; 

class Banner extends Model 
{ 
    // 

    protected $table='banners'; 

    public function mediagallery() 
    { 

     return $this->belongsTo('App\Mediagallery', 'video_id','id'); // 2nd foreign key field name , 3td is parent table primary key field name 
    } 
} 

//*********** Mediagallery model ********************* 

<?php 

namespace App; 

use Illuminate\Database\Eloquent\Model; 

class Mediagallery extends Model 
{ 
    // 

    protected $table='mediagalleries'; 

    public function banner() 
    { 

     return $this->hasOne('App\Banner', 'video_id', 'id'); // 2nd foreign key o the child table , 3td is parent or local table 
    } 


} 

答えて

0

2つの関係を作成します。ビデオのための1つの関係と画像のためのもう1つの関係。

public function videoGallery() 
{ 
    return $this->belongsTo('App\Mediagallery', 'video_id','id'); 
} 

public function imageGallery() 
{ 
    return $this->belongsTo('App\Mediagallery', 'image_id','id'); 
} 

私はアプリの詳細を知らないとうまくいけば、これは役に立ちます。

+0

ありがとうございます。乾杯 –