راکت

مشکل like لاراول

8 پاسخ

سلام
من برای رول و پرمیشن یه رابطه منی تو منی دارم

$permissions1 = Permission::where('slug', 'like', 'Term.%')->get();
$permissions2 =Role::find(4)->permissions->where('slug', 'like', 'Term.%');

permissions1 سه تا آیتم برمیگردونه در صورتی که permissions2 هیچی برنمیگردونه

ضمنا اون رول پرمیشین ها رو داره مثلا اگه بنویسم

$permissions3 =Role::find(4)->permissions->where('slug', 'Term.update');

یه آیتم برمی گردونه

مشکل از کجاس؟

رضا
رضا
@rezakarimi376
ثبت پرسش جدید

پاسخ‌ها

8
امین محمدزاده
امین محمدزاده
@amin.webdesign

تخصص: برنامه نویسی وب - Laravel

$permissions2 =Role::find(4)->permissions->where('slug', 'like', '%Term.');
رضا
رضا
@rezakarimi376

اونی که شما فرمودید کلماتی رو چک میکنه که آخرش Term. باشه
ولی بازم امتحان کردم کار نکرد

@amin.webdesign

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

امین محمدزاده
امین محمدزاده
@amin.webdesign

تخصص: برنامه نویسی وب - Laravel

خب شما اینو هم چک کن

$permissions2 =Role::find(4)->permissions()->where('slug', 'like', 'Term.%')->get();
رضا
رضا
@rezakarimi376

@amin.webdesign
چیزی پیدا نکرد باز

امین محمدزاده
امین محمدزاده
@amin.webdesign

تخصص: برنامه نویسی وب - Laravel

یه عکس از جدول دیتابیس Role و جدول Permission بذارید.

رضا
رضا
@rezakarimi376
امین محمدزاده
امین محمدزاده
@amin.webdesign

تخصص: برنامه نویسی وب - Laravel

خب کوئری شما ایراد داره. شما از طریق role آی دی 4 میخواین به permissions دسترسی داشته باشید ولی مگه ارتباطی بین جدول role و permissions هست که بین اونها relation با نام permissions زدید؟ در ثانی شما اصلا role با آی دی 4 ندارید که بخواین کوئری مورد نظری که نوشتید کار کنه

سهیل رضایی
سهیل رضایی
@rezaesoheil

باید یک جدول pivot به اسم role_permission درست کنی که ارتباط بین role ها و permission ها رو برقرار کنه
این لینک رو ببین

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

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