What's the schema and what's the error?
From a glance.. Why do you have post_id and comment_id in those relationships?
You have a post_id field in the posts table and a comment_id field in the comments table?
public function comments()
{
return $this->hasMany('Comment','comment_id');
}
Has many Comment, not Comments. With relation you refer to model, not table.
Also, why would you use post_id as foreign key in User model for posts function? It's like you want to insert id from User model into post_id in Post model. Your foreign key, in Post model should be user_id, so you can assign User to Post as an author.
thanks for the replies..
Yes... I used post_id field in the posts table and a comment_id field in the comments table..
This is the error i'm getting...
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'id' in 'where clause' (SQL: select * from posts
where id
= ? limit 1) (Bindings: array ( 0 => 15, ))
Well, I think you will have problem with User<>Post relation later with wrong foreign key (unless you really want to assign User's id to post_id), just giving you a heads-up.
Do you have self-incrementing id column in your Posts table? Find() searches by id.
Hi Belar.
These are my tables......
users:id name
posts:post_id(pk),post,user_id
comments:comment_id(pk),Comment,post_id
Well, here is the problem. Find() function is looking for ID column in your posts table, but it's not there.
Now you could reconfig that, so it will be searching by post_id (Redefine primary key in model), but I would advice to just add self-incrementing id column to your posts table or at least rename the post_id one.
On that topic, take a look at schema building in Laravel:
http://laravel.com/docs/schema
If you get your DB right, it will be huge improvement for your future development.
Sign in to participate in this thread!
The Laravel portal for problem solving, knowledge sharing and community building.
The community