I am making social network using laravel where i want to show " 'post' 'comments' 'comment_by' user info in single array with nested relationship
here is my class and database structure
table name and Fields
Members
ID => primary key,
name,
email
Posts
ID => primary key,
postText
fromUserId => foreign key (Members-id)
Comments
commentText ,
onPostId = > foreign key (Post-id)
fromUserId = > foreign key (Members-id)
Eloquent Models
1.Member.php
class Member extends Model
{
//
}
2.post.php
class post extends Model
{
//
public $timestamps = true;
function getUserDetails()
{
return $this->belongsTo('App\Member', 'fromUserId', 'id');
}
function getCommentDetails()
{
return $this->hasMany('App\comment', 'onPostId', 'id');
}
}
3.comment.php
class comment extends Model
{
}
call for getting array
$posts=post::with('getUserDetails','getCommentDetails')->get();
*expected output
{
"id":1,
"postType":1,
"postText":"my name is parth",
"url":null,
"likesCount":0,
"unlikesCount":0,
"shareCount":0,
"commentsCount":0,
"thumbUrl":null,
"accessMode":1,
"fromUserId":1,
"isAdult":1,
"created_at":null,
"updated_at":null,
"get_user_details":{
"id":1,
"name":"parth",
"email":"parthbhatti95@gmail.com",
"password":"parth123456",
"remember_token":"e1b28a30ab467c52924df64034c386d4",
"created_at":null,
"updated_at":null
},
"get_comment_details":[
{
"id":1,
"commentsText":"dccd",
"onPostId":1,
"fromUserId":1,
"created_at":"2017-05-25 16:44:51",
"updated_at":null
"commented_by":{
"id":1,
"name":"parth",
"email":"parthbhatti95@gmail.com",
"password":"parth123456",
"remember_token":"e1b28a30ab467c52924df64034c386d4",
"created_at":null,
"updated_at":null
},
},
{
"id":3,
"commentsText":"second comment",
"onPostId":1,
"fromUserId":1,
"created_at":"2017-05-26 09:40:51",
"updated_at":null
"commented_by":{
"id":1,
"name":"parth",
"email":"parthbhatti95@gmail.com",
"password":"parth123456",
"remember_token":"e1b28a30ab467c52924df64034c386d4",
"created_at":null,
"updated_at":null
},
},
{
"id":4,
"commentsText":"second comment",
"onPostId":1,
"fromUserId":1,
"created_at":"2017-05-26 09:41:16",
"updated_at":null
"commented_by":{
"id":1,
"name":"parth",
"email":"parthbhatti95@gmail.com",
"password":"parth123456",
"remember_token":"e1b28a30ab467c52924df64034c386d4",
"created_at":null,
"updated_at":null
},
},
{
"id":5,
"commentsText":"third one",
"onPostId":1,
"fromUserId":1,
"created_at":"2017-05-26 09:41:43",
"updated_at":null
"commented_by":{
"id":1,
"name":"parth",
"email":"parthbhatti95@gmail.com",
"password":"parth123456",
"remember_token":"e1b28a30ab467c52924df64034c386d4",
"created_at":null,
"updated_at":null
},
}
]
}
from Newest questions tagged laravel-5 - Stack Overflow http://ift.tt/2rGSDn7
via IFTTT
Aucun commentaire:
Enregistrer un commentaire