tutorial php mongodb laravel eloquent jenssegers-mongodb

php - tutorial - Laravel+Jenssegers / Mongodb: ''WhereHas'' y ''Has'' devuelve colección vacía



mongodb mongodb (0)

Actualmente, estoy trabajando en dos modelos, Form y Notification , y una relación muchos a muchos está configurada y funciona para la mayoría de los comandos Eloquentes, a excepción de whereHas y has . Ambos solo devuelven una matriz vacía, [] .

Parece que el desarrollador ha tenido problemas para hacer que esto funcione en el pasado , pero parece que lo ha resuelto aquí .

Aquí hay una muestra de lo que tengo hasta ahora, y lo que he intentado:

Form.php

class Form extends Eloquent { protected $connection = ''mongodb''; public function notifications(){ return $this->belongsToMany(''App/Api/Forms/Notification'', null, ''form_ids'', ''notification_ids''); } }

Notification.php

class Notification extends Eloquent { protected $connection = ''mongodb''; public function forms() { return $this->belongsToMany(''App/Api/Forms/Form'', null, ''notification_ids'', ''form_ids''); } }

NotificationController.php

<?php namespace App/Http/Controllers; use App/Api/Forms/Notification; use App/Api/Forms/Form; class NotificationController extends Controller { public function getByFormTitle($form_title) { // This code retuns the relationship as expected. // Any forms that are assigned to it are returned. // $n = Notification::first(); // $n->forms()->get(); // This also returns the relationship correctly, same as before. // $f = Form::first(); // $f->notifications()->get(); // Nearly identical to the Laravel docs. This returns an empty array, [] $notifications = Notification::whereHas(''forms'', function ($query) use ($form_title) { $query->where(''form_title'', $form_title); })->get(); return $notifications; } }

Obtengo el mismo resultado si uso Notification::has(''form'')->get() .

Entonces mi pregunta es:

¿Es posible usar whereHas y has en Jenssegers/Mongodb Eloquent ? ¿Tengo que usar una sintaxis diferente a la documentación oficial de Laravel, o tengo que hacer una consulta de Mongo sin procesar para esto?