php - Many to many relationship and where in Laravel 4 -


in laravel 4, when working many-to-many relationships, following:

/* skills 1 specific topic */ route::get( '/api/topics/{topicslug}/skills', function( $topicslug ) {     $skills = skill::where( 'topic.slug', '=', $topicslug )->get(); } 

now problem topic.slug isn't column in skills table. instead, slug column in topics table, related skills table via pivot table called skills_topics (which includes skill_id , topic_id).

i've tried number of variations, can't query right. how query have like, if want skills 1 particular topic?


the models are:

class skill extends eloquent {     public function topics()     {         return $this->belongstomany( 'topic' );      } } 

and

class topic extends eloquent {     public function skills()     {         return $this->belongstomany( 'skill' );     } } 

well should topic related skills if understood correctly. this:

$topic = topic::with('skills')->where('slug', $topicslug)->first(); 

and access skills through:

foreach ($topic->skills $skill) {  } 

Comments

Popular posts from this blog

monitor web browser programmatically in Android? -

Shrink a YouTube video to responsive width -

wpf - PdfWriter.GetInstance throws System.NullReferenceException -