راکت

مشکل در پیاده‌سازی روابط ACL

3 پاسخ

سلام دوستان
در قسمت 59 یعنی پیاده‌سازی روابط ACL برای insert کردن در تیبل permission_user کادر Value به صورت select نمایش داده میشه اما برای من به صورت input نمایش داده میشه!
من دقیقا فایل مایگریشن همین قسمت رو بارگذاری کردم و تست کردم باز هم نتیجه تغییر نکرد.
در واقع در قسمت Designer دیتابیس هیچ گونه رابطه ای هم ایجاد نمیشه!
مشکل از کجاست؟
تشکر
توضیح تصویر رو وارد کنید

حسن حکمتی
حسن حکمتی
@hekmati
ثبت پرسش جدید

پاسخ‌ها

3
وحید
وحید
@forughi.vahid

تخصص: Fullstack

@hekmati
اگر قسمت forein key جدولتون خالیه پس قطعا سلکتی هم مشاهده نخواهید کرد
مایگریت ساکسسفول شد یا اررور گرفتید ؟ کد فایل مایگریشنتون رو بفرستید

حسن حکمتی
حسن حکمتی
@hekmati

تخصص: برنامه نویس وب و بلاکچین

ببینید دقیقا فایل مایگرت ارایه شده رو اجرا کردم ، بدون خطا ایجاد شد.
@forughi.vahid

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreatePermissionsAndRolesTables extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('permissions', function (Blueprint $table) {
            $table->id();
            $table->string('name');
            $table->string('label')->nullable();
            $table->timestamps();
        });

        Schema::create('permission_user' , function(Blueprint $table) {
            $table->unsignedBigInteger('permission_id');
            $table->foreign('permission_id')->references('id')->on('permissions')->onDelete('cascade');
            $table->unsignedBigInteger('user_id');
            $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
            $table->primary(['permission_id' , 'user_id']);
        });

        Schema::create('roles', function (Blueprint $table) {
            $table->id();
            $table->string('name');
            $table->string('label')->nullable();
            $table->timestamps();
        });

        Schema::create('permission_role' , function(Blueprint $table) {
            $table->unsignedBigInteger('permission_id');
            $table->foreign('permission_id')->references('id')->on('permissions')->onDelete('cascade');
            $table->unsignedBigInteger('role_id');
            $table->foreign('role_id')->references('id')->on('roles')->onDelete('cascade');
            $table->primary(['permission_id' , 'role_id']);
        });

        Schema::create('role_user' , function(Blueprint $table) {
            $table->unsignedBigInteger('user_id');
            $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
            $table->unsignedBigInteger('role_id');
            $table->foreign('role_id')->references('id')->on('roles')->onDelete('cascade');
            $table->primary(['user_id' , 'role_id']);
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('permission_user');
        Schema::dropIfExists('role_user');
        Schema::dropIfExists('permission_role');
        Schema::dropIfExists('roles');
        Schema::dropIfExists('permissions');
    }
}

شاید پاسخ شما همین‌جا باشد

حسن حکمتی
حسن حکمتی
@hekmati

تخصص: برنامه نویس وب و بلاکچین

دوستان حل شد
اگر کسی به این مشکل برخورد راهش اینه که Engine دیتابیس رو از نوع InnoDB انتخاب کنه.
مشکل من اینجور حل شد و البته در قسمت Designer هم روابط ایجاد شدند.

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام