حسن حکمتی
4 سال پیش توسط حسن حکمتی مطرح شد
3 پاسخ

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

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


ثبت پرسش جدید
وحید
تخصص : Fullstack
@forughi.vahid 4 سال پیش مطرح شد
0

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


حسن حکمتی
تخصص : برنامه نویس وب و بلاکچین
@hekmati 4 سال پیش مطرح شد
1

ببینید دقیقا فایل مایگرت ارایه شده رو اجرا کردم ، بدون خطا ایجاد شد.
@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 4 سال پیش مطرح شد
3

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


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

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