0
私のコードは、このコードStackoverflowに基づいています。データベースから正しい言語を選択する関係
私は、ナビゲーションのための3つのテーブル(これは移行です)があります。
Schema::create('navigation_positions', function (Blueprint $table) {
$table->increments('id');
$table->string('slug')->unique();
});
Schema::create('navigation', function (Blueprint $table) {
$table->increments('id');
$table->string('slug')->unique();
$table->string('icon')->nullable();
$table->string('url')->nullable();
$table->integer('sort')->nullable()->default(NULL);
$table->integer('parent_id')->unsigned()->nullable();
$table->integer('position_id')->unsigned();
$table->timestamps();
$table->foreign('position_id')->references('id')->on('navigation_positions')
->onDelete('restrict');
});
Schema::create('navigation_translate', function (Blueprint $table) {
$table->increments('id');
$table->string('title');
$table->integer('navigation_id')->unsigned();
$table->integer('language_id')->unsigned();
$table->timestamps();
$table->foreign('navigation_id')->references('id')->on('navigation')
->onDelete('cascade');
$table->foreign('language_id')->references('id')->on('languages')
->onDelete('restrict');
});
を私はnavigation
にレコードを挿入し、私のウェブサイトは、(language
セッションにlanguage_id
を格納)、多言語であるので、私はnavigation_translate
に翻訳された言語を保存します。
私はlanguage_id
とnavigation_positions.slug
に従って正しいレコードをnavigation_translate
から選択したいと思います。
navigation_positions
:
["id" => 1, "slug" => "admin-sidebar"]
navigation_translate
:たとえば
は、これが私のレコードです私はadmin-sidebar
位置にあるすべての親と子を選択します
["id" => 1, "title" => "User Management", "navigation_id" => 1, "language_id" => 1]
おかげで、しかし、私のために動作しませ:(私は私が私の応答を編集し、同時に – MajAfy
で3つのテーブルからレコードを選択します、あなたはこのような何かを試すことができる(テストされていない) – Hammerbot