php - ternario - pasar variable laravel a javascript
Laravel 5. Uso del operador USING (1)
Entonces, la respuesta es - es imposible.
Laravel no es compatible con esta funcionalidad, lo cual es realmente triste.
Lo soluciono en el código fuente de Laravel, mi PETICIÓN DE PEDIDO aquí - https://github.com/laravel/framework/pull/12773
Traté de encontrarlo durante mucho tiempo, y no puedo creer que Laravel no tenga esta funcionalidad.
Entonces, puedo escribir:
select * from a join b where a.id = b.id
o más hermoso:
select * from a join b using(id)
El primer caso es simple para Laravel:
$query->leftJoin(''b'', ''a.id'', ''='', ''b.id'')
¿Pero cómo escribir el segundo caso? Espero que sea simple y breve, como:
$query->joinUsing(''b'', ''id'')
Pero no hay tal método y no puedo encontrarlo.
PD: es posible que la respuesta sea muy simple, es difícil de encontrar con la palabra "usar", porque está en todas partes.
ACTUALIZAR
Voy a profundizar en la fuente, intentando hacer un alcance o pasar una función para unirme, pero incluso dentro de esta función no puedo hacer nada con esta $ consulta. Ejemplo:
public function scopeJoinUsing($query, $table, $field) {
sql($query->join(/DB::raw("USING(`{$field}`)")));
// return
// inner join `b` on USING(`id`) ``
// yes, with "on" and with empty quotes
sql($query->addSelect(/DB::raw("USING(`{$field}`)")));
// return
// inner join `b` USING(`id`)
// but in fields place, before "FROM", which is very logic :)
}
Así que incluso si olvidas el alcance, no puedo hacer esto en DB :: raw (), así que es imposible ... La primera vez que veo algo imposible en Laravel.