2016-06-07 4 views
0

Laravel에서 다형 관계를 만들 예정이지만 내 테이블은 너무 오래되었고 명명 규칙은 laravel에 따르지 않습니다. 이 일을 어떻게 할 수 있습니까?Laravel 명명 규칙의 다형 관계

+0

더 나은 현재 데이터베이스 스키마에 대한 자세한 정보를 추가 할 수 있습니다. – Doom5

+0

코드를 추가 할 수 있습니까? – IshaS

답변

0

물론 테이블 이름과 FK 열 이름을 직접 설정할 수 있습니다.
Realtion docs 이상 봐 당신이

posts 
    id - integer 
    title - string 
    body - text 

comments 
    id - integer 
    post_id - integer 
    body - text 

likes 
    id - integer 
    likeable_id - integer 
    likeable_type - string 

이있는 경우 Laravel API에서 필요한 경우 또는

source code 그런 다음 코드는

<?php 

namespace App; 

use Illuminate\Database\Eloquent\Model; 

class Like extends Model 
{ 
    /** 
    * Get all of the owning likeable models. 
    */ 
    public function likeable() 
    { 
     return $this->morphTo('likeable', 'likeable_type', 'likeable_id'); 
    } 
} 

class Post extends Model 
{ 
    /** 
    * Get all of the post's likes. 
    */ 
    public function likes() 
    { 
     return $this->morphMany('App\Like', 'likeable', 'likeable_type', 'likeable_id'); 
    } 
} 

class Comment extends Model 
{ 
    /** 
    * Get all of the comment's likes. 
    */ 
    public function likes() 
    { 
     return $this->morphMany('App\Like', 'likeable', 'likeable_type', 'likeable_id'); 
    } 
}