Construir query condicional con eloquent



   AUTOR PREGUNTA

Publicado 18 noviembre 2014 - 23:22

necesito construir un query con el modelo de eloquent que incluya una clausa condicional where. He creado algo de codigo buscando un poco en google pero al parecer no esta funcionando de manera correcta, aqui les dejo lo que llevo hasta los momentos:

if ($status) {
$this->where('status', $status); }
if ($assignedto) { $this->where('assigned_to', $assignedto);}
if ($fromDate != null && $toDate != null) {
$this->whereBetween('date', array($fromDate, $toDate)); }
$quotes = $this->orderBy('date', 'desc')->paginate(40);

Esto lo que debe hacer es retornar todos los resultados sin filtrar por el estatus asignado ni por las fechas.


¿Tienes la misma pregunta? Yo también

 

Publicado 19 noviembre 2014 - 06:42

Prueba con lo siguiente en tu controlador:


public function index() {
return View::make('articles.index', [ 'articles' => Article::with('writer')->filter()->get() ]); }

 

Publicado 19 noviembre 2014 - 06:43

Te falta asignarle el $this a una nueva variable, te dejo como quedaria, te deberia funcionar sin problemas:

$quoteModel = $this;
if ($status) { $quoteModel = $quoteModel->where('status', $status); }
if ($assignedto) { $quoteModel = $quoteModel->where('assigned_to', $assignedto); }
if ($fromDate != null && $toDate != null) {
$quoteModel = $quoteModel->whereBetween('date', array($fromDate, $toDate)); }
$quotes = $quoteModel->orderBy('date', 'desc')->paginate(40);

 

Publicado 19 noviembre 2014 - 06:44

Dale un vistazo a estos tutoriales de eloquent, quiza te ayuden:
1- Tutorial 1
2- Tutorial 2

   AUTOR PREGUNTA

Publicado 19 noviembre 2014 - 19:22

Gracias Jhony, que crack con eso lo solucione, le dare un ojo a los tutoriales tambien