我有下一个数据库查询:
Database::select(['*',
\DB::raw('count(notes.id) as count')
])->leftjoin('notes','post.id','=','notes.post_id')
->groupBy('post.id');
1.如何使用口才
我的关系
//Post model
public function notes(){
return $this->hasMany('App\Note','post_id');
}
//Note model
public function post(){
return $this->belongsTo('App\Database');
}
2.如何获得最佳的列表帖子和列表注释。网站上的示例:
ID帖子|标题帖子|便笺|
---笔记1
..........
更新
CREATE TABLE `posts` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`title` VARCHAR(255) NOT NULL,
`text` VARCHAR(255) NULL DEFAULT NULL,
`created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`updated_at` TIMESTAMP NULL DEFAULT NULL,
PRIMARY KEY (`id`)
)
CREATE TABLE `notes` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`note` VARCHAR(255) NOT NULL DEFAULT '0',
`user_id` INT(10) UNSIGNED NOT NULL DEFAULT '0',
`post_id` INT(11) NOT NULL DEFAULT '0',
`created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`updated_at` TIMESTAMP NULL DEFAULT NULL,
PRIMARY KEY (`id`))
最佳答案
当我看到您关于案件的最新消息时,我认为您只需在模型中建立标准的雄辩关系
将此关系放在App\Post.php
中
public function notes(){
return $this->hasMany('App\Note','post_id');
}
如果您希望像上面描述的那样获取数据,则可以使用此代码
控制者
$view = view('your-view-file');
$view->posts = App\Post::all();
return $view;
视图
@foreach($posts as $post)
<tr>
<td>{{ $post->id }}</td>
<td>{{ $post->title }}</td>
<td>{{ $post->notes->count() }}</td>
</tr>
@endforeach
您可以使用
count()
总结从数据库获得的行数关于mysql - laravel 5 Eloquent 左联接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34112167/