Php 在laravel 5.4中有许多雄辩的关系
我尝试获取登录用户的帖子数量Php 在laravel 5.4中有许多雄辩的关系,php,laravel,eloquent,relation,Php,Laravel,Eloquent,Relation,我尝试获取登录用户的帖子数量count,以便向登录用户显示到目前为止他们发布了多少帖子或评论: 到目前为止,我拥有的是posts表中的author\u id列,该列将引用用户id 这是我的Post型号: <?php namespace App; use Illuminate\Database\Eloquent\Model; class Post extends Model { public function author() { return $thi
count
,以便向登录用户显示到目前为止他们发布了多少帖子或评论:
到目前为止,我拥有的是posts
表中的author\u id
列,该列将引用用户id
这是我的Post
型号:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
public function author() {
return $this->belongsTo('App\User');
}
}
<?php
namespace App;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
use Notifiable;
protected $table = 'users';
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'role_id',
'email',
'password',
'name',
'avatar',
'remember_token',
'created_at',
'updated_at'
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
public function posts()
{
return $this->hasMany('Post', 'author_id');
}
}
这是我的PostController
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Post;
use App\Auth;
use App\User;
class PostController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$posts = Post::orderBy('created_at', 'desc')->paginate(15);
$countTodayOrders = Post::whereRaw('Date(created_at) = CURDATE()')->count();
return view('theme.index', compact('posts', 'countTodayOrders'));
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function single($slug) {
$post = Post::where('slug', '=', $slug)->first();
$countTodayOrders = Post::whereRaw('Date(created_at) = CURDATE()')->count();
return view('theme.single', compact('post', 'countTodayOrders'));
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
//
}
}
好吧,我想起来了:)
我忽略了所有模型角色,直接使用了从数据库插入的控制器数据,并将其与用户id进行比较,如果它为真(相同),则返回数字
这是您需要的代码PostController
:
public function index()
{
$posts = Post::orderBy('created_at', 'desc')->paginate(15);
$countTodayOrders = Post::whereRaw('Date(created_at) = CURDATE()')->count();
$postscount = DB::table('posts')
->whereExists(function ($query) {
$query->select(DB::raw(1))
->from('users')
->whereRaw('author_id = id');
})
->get();
return view('theme.index', compact('posts', 'countTodayOrders', 'postscount'));
}
顺便说一句,你在当天发布的帖子中得到了什么。