У меня есть вопрос о том, как сгенерировать запрос с помощью eloquent, и я был бы признателен за любую помощь от вас.
У меня есть 4 таблицы в моей базе данных:
1. модули
2. роли
3. module_rol (сводная таблица)
4. регионы
Структура таблиц:
модули:
id int
строка имени
регион int
активный bool
роли
id int
Строка имени
module_rol
rol_id int
module_id int
регионы
id int
Строка имени
Мне нужно получить все значения из таблицы модулей с некоторыми условиями, например ..
public function getUserModules($rol, $region)
{
// Return all modules to which that role is allowed to access and have that region defined
}
В ожидании помощи, большое спасибо заранее
РЕДАКТИРОВАТЬ 1:
Schema::create('regions', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->timestamps();
});
Schema::create('modules', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->integer('region')->unsigned();
$table->boolean('active')->default(true);
$table->timestamps();
$table->foreign('region')
->references('id')->on('regions')
->onDelete('cascade');
});
Schema::create('roles', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->timestamps();
});
Schema::create('module_rol', function (Blueprint $table) {
$table->increments('id');
$table->integer('rol_id');
$table->integer('module_id');
$table->timestamps();
$table->foreign('rol_id')
->references('id')->on('roles')
->onDelete('cascade');
$table->foreign('module_id')
->references('id')->on('modules')
->onDelete('cascade');
});