with tablas relacionadas relacion obtener muchos datos php mysql laravel pivot-table laravel-5

php - tablas - Obtenga todos los registros del modelo que NO tienen una entrada en la tabla dinámica Laravel 5



relacion muchos a muchos laravel (1)

Iniciar la consulta desde el Module y excluir con whereDoesntHave debería funcionar en este caso:

$id = 1; $modules = Module::whereDoesntHave(''sites'', function($q) use ($id){ $q->where(''site_id'', $id); })->get();

Estoy tratando de descubrir cómo lograr lo siguiente. He buscado y buscado en vano.

Tengo una tabla dinámica en una aplicación Laravel 5 que está funcionando como se esperaba con las siguientes funciones en los modelos respectivos.

// Module.php //... public function sites() { return $this->belongsToMany(''App/Site'')->withPivot(''enabled''); } // Site.php //... public function modules() { return $this->belongsToMany(''App/Module'')->withPivot(''enabled''); }

Puedo recuperar todos los registros relevantes con algo como lo siguiente en mi Sitecontroller.php

$site = Site::with(''modules'')->findOrFail($id);

El problema que tengo es que quiero poder obtener todos los módulos que no tienen un registro asociado en la tabla dinámica para el sitio en cuestión.

¿Alguien puede apuntar en la dirección correcta cómo podría lograr algo como esto, de la manera correcta (puedo pensar en algunas maneras, pero parece realmente hacky)

Gracias por adelantado. METRO