私は基本的なフォーラムをセットアップしており、モデル間の関係は完了しています。しかし、私はサブカテゴリに投稿した最後のユーザーを取得しようとして立ち往生しています。これは、そのレイアウト方法です。Laravelフォーラムで掲示された最後のユーザーをつかまえます
MySQLテーブル forum_category(これがメインカテゴリに使用され、また、サブカテゴリー) forum_post(これはポストのために使用されている)。ここ
がある私のForumCategory.php
namespace App\Models\Forum;
use Illuminate\Database\Eloquent\Model;
class ForumCategory extends Model {
protected $table = 'forum_category';
public static function category()
{
return ForumCategory::with('ForumSubCategory')->whereNull('parent_id')->get();
}
public function User()
{
return $this->belongsTo('App\User');
}
public function ForumSubCategory()
{
return $this->hasMany('App\Models\Forum\ForumSubCategory' , 'parent_id');
}
public function ForumPost()
{
return $this->hasMany('App\Models\Forum\ForumPost' , 'parent_id');
}
}
が
そしてここにありますForumSubCategory.php同じカテゴリを使用していてもサブカテゴリモデル...
namespace App\Models\Forum;
use App\User;
use Illuminate\Database\Eloquent\Model;
class ForumSubCategory extends Model
{
protected $table = 'forum_category';
public function ForumCategory()
{
return $this->belongsTo('App\Models\Forum\ForumCategory');
}
public function User()
{
return $this->belongsTo('App\User');
}
public function ForumPost()
{
return $this->hasMany('App\Models\Forum\ForumPost' , 'parent_id');
}
}
そして、ここでは私のForumPost.phpモデル
namespace App\Models\Forum;
use Illuminate\Database\Eloquent\Model;
class ForumPost extends Model
{
protected $table = 'forum_post';
public function User()
{
return $this->belongsTo('App\User');
}
public function ForumSubCategory()
{
return $this->belongsTo('App\Models\Forum\ForumSubCategory');
}
}
された制御装置は、インデックスは、私は現在、投稿私の最後のユーザーを取得しています現時点で
public function index() {
return view('forum.index', ['category' => ForumCategory::category()]);
}
今かなり基本的ですこれで
public static function LastPost($value)
{
$lastPost = ForumPost::whereParentId($value)->orderBy('created_at', 'DESC')->pluck('user_id')->first();
return User::whereId($lastPost)->pluck('username')->first();
}
私はしたくないする。私はこれを行うための正しい方法を知りたい:(
は、ここに私の見解
<ul>
@foreach ($category as $cat)
<li>
{{$cat->category_name}} - this is main category
{{$cat->category_description}} - this is main category description
@if ($cat->ForumSubCategory)
<ul>
@foreach ($cat->ForumSubCategory as $sub)
<li>
<a href="/forum/{{$cat->slug}}/{{$sub->slug}}"> - this is the category slug with the sub category slug
{{$sub->category_name}} - this is the sub category name
</a>
{{$sub->category_description}} - this is the sub category description
{{$sub->ForumPost->count()}} - this is how many posts are in the sub category
{{$sub->LastPost($sub->id)}} - this is how i am currently getting the last user who posted
</li>
@endforeach
</ul>
@endif
</li>
@endforeach
</ul>
これを見て時間を割いてくれてありがとう!
あなたは、動的な特性を利用することができ
ありがとう、{{$ sub> latestPost} {{$ sub> latestPost-> idまたはそれが返されたユーザ - >ユーザ名など、オブジェクト以外のオブジェクトのプロパティを取得しようとしている> _ <グーグルグーグルを続ける^ _^ –
'非オブジェクトのプロパティ'は、あなたに 'latestPost'オブジェクトがないことを意味します。または最新の投稿に設定されたユーザさえも含みます。これらのケースに対する完全な解決策が含まれています。 – Mysteryos
OMGありがとう!!!これはずっと面白くなくても私の頭をひっぱっている。はい、それは私がいかに遅いですか! –