Laravel 4 Eloquent 'hasMany': how to set the default lookup value rather than primay key -


i want retrieve comments under post_id(post1) in page:

//localhost/posts/post1/  

table comments

id:int[primary],  comment:varchar,  post_id:varchar, comment_id:varchar 1                 comment post_1           comment_1 

table posts

id:int[primary], post_title:varchar, post_id:varchar 1                post title  post_1 

model comment.php

public function post() {     return $this->belongsto('post');  } 

model post.php

public function comments()     {         return $this->hasmany('comment');     } 

controller postscontroller.php

 public function show($id)     {        $comments = post::where('post_id','=',$id)->first()                    ->comments()->where('post_id','=',$id)->get();      } 

when visit //localhost/posts/post1/ , no related comment displayed. sql runs below:

select * `posts` `post_id` = 'post1' limit 1 select * `comments` `comments`.`post_id` = '1' , `post_id` = 'post1' 

how can remove `post_id = '1'` retrieve corresponding comments?

in posts table id column should named id instead of post_id laravel expects. possible set primary key in eloquent model other id better use id , follow standard. please refer docs here http://four.laravel.com/docs/eloquent. once naming id column id can individual post post::find($id)


Comments

Popular posts from this blog

blackberry 10 - how to add multiple markers on the google map just by url? -

php - guestbook returning database data to flash -

delphi - Dynamic file type icon -