2014-09-28 3 views
0

주어진 게시물에서 주어진 사용자가 만든 것처럼 검색하고 싶습니다. 내가 가진 하나 개 포스트 모델로 : 포스트부모를 기반으로 한 laravel에서 관련 모델 찾기

class Post extends \Eloquent 
{ 


    protected $fillable = []; 

    public function likes() 
    { 
     return $this->morphMany('Like', 'likeable'); 
    } 


} 

과 같이 하나의 처럼 모델 : 모델 laravel에서 제공

class Like extends \Eloquent 
{ 
    protected $fillable = []; 

    /** 
    * @return \Illuminate\Database\Eloquent\Relations\MorphTo 
    */ 
    public function likeable() 
    { 
     return $this->morphTo(); 
    } 

    /** 
    * @return \Illuminate\Database\Eloquent\Relations\BelongsTo 
    */ 
    public function owner() 
    { 
     return $this->belongsTo('User', 'owner_id'); 
    } 

} 

및 기본 사용자. 나는이 사용자에 의해처럼 찾으려면 모델 이제

$user=User::find(1); 

처럼

지금은

$post=Post::find(10); 

사용자와 같은 post_id를 사용하여 하나 개의 게시물을 찾을 포스트 모델을 조회했습니다 (1) on 게시물 (10) laravel에서 사용할 수있는 기능이 있습니까?

내가 직접 기능

\Like::whereLikeableId('10')->whereLikeableType('Post')->whereUserId('1')->get(); 

으로 그러나 이것은 추한 외모와 내가 그 일의 laravel 방법을 알고 싶은 경우 원료를 사용하여 같이 조회 할 수 있습니다 것을 알고있다.

답변

0

당신이 필요하다 : 일을 당신의 대답에 대한

$like = $post->likes()->where('user_id', 1)->first(); 
+0

감사합니다. Like : likeable ($ post) -> where ('user_id', 1), 다른 말로하면 부모와 독립적이됩니다. Model – manish

+0

'whereHas'하지만 사용할 수 있습니다. 나는 그것이 일을 더 쉽게 만들 것이라고 생각하지 않는다. 왜 그걸 원할거야? –

관련 문제