看看我的代码和演示。
我有三个表categories
和knowledge_rooms
和category_knowledge_room
。并且所有数据都已存储。
类别表
public function up()
{
Schema::create('categories', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('name_fa');
$table->string('name_en');
$table->integer('parent_id');
$table->string('icon')->nullable();
$table->timestamps();
});
}
knowledge_rooms表
public function up()
{
Schema::create('knowledge_rooms', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('title');
$table->string('lang');
$table->text('body');
$table->string('image');
$table->string('slug');
$table->bigInteger('user_id')->unsigned();
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
$table->timestamps();
});
Schema::create('category_knowledge_room', function (Blueprint $table) {
$table->bigInteger('category_id')->unsigned();
$table->bigInteger('knowledge_room_id')->unsigned();
$table->primary(['category_id', 'knowledge_room_id']);
$table->foreign('category_id')->references('id')->on('categories')->onDelete('cascade');
$table->foreign('knowledge_room_id')->references('id')->on('knowledge_rooms')->onDelete('cascade');
});
}
AppServiceProvider.php
public function register()
{
Schema::defaultStringLength(191);
view()->composer('*', function($view) {
$view->with('menus', Category::whereParent_id('0')->get());
});
}
Category.php
public function knowledgeRooms()
{
return $this->belongsToMany(KnowledgeRoom::class);
}
master.blade.php
@foreach($menus as $menu)
@foreach($menu->getChild as $submenu)
@foreach($submenu->knowledgeRooms as $knowledgeRoom)
{{ dd($knowledgeRoom) }}
@endforeach
@endforeach
@endforeach
web.php
Route::view('/', 'Home.master')->name('index');
但是我看到这个演示,它是白页。