• ENTRAR
  • No hay productos en el carrito.

Consultas avanzadas

Viendo 11 publicaciones - del 1 al 11 (de un total de 11)
  • Autor
    Publicaciones
  • #12031

    Agatha
    Participante

    Buen día.

    Les solicito un gran favor de darme una manita en pasar un consulta SQL a Eloquent de Laravel:
    SELECT id, “cpu” FROM cpus WHERE id NOT IN (SELECT cpu_id FROM equipos)
    UNION
    SELECT id, “pantalla” FROM pantallas WHERE id NOT IN (SELECT pantalla_id FROM equipos)

    Lo he intentado de varias formas y no he podido.

    Muchas gracias.

    #12033

    Cursosdesarrolloweb
    Jefe de claves

    Hola Agatha,

    Utiliza la clase DB, te será más simple, la siguiente consulta te debería funcionar.

    Esta herramienta traduce el sql a Laravel utilizando la clase DB.

    http://www.midnightcowboycoder.com/

    Un saludo.

    #12035

    Cursosdesarrolloweb
    Jefe de claves

    Por favor, si publicas una pregunta, no es necesario que escribas otra a los 5 minutos, más aún si trata de lo mismo.

    #12036

    Agatha
    Participante

    Lo siento mucho, ofrezco disculpas. No volverá a pasar.

    Muchas gracias por la pronta respuesta y lo pondré a funcionar en mi aplicación.

    #12038

    Cursosdesarrolloweb
    Jefe de claves

    No hay problema Agatha, es por mantener el foro limpio.

    Un saludo.

    #12040

    Agatha
    Participante

    Buen día Israel.

    De nuevo solicito de su valiosa ayuda.

    He utilizado la función que me envío y sale el mensaje:FatalThrowableError
    Type error: Argument 1 passed to Illuminate\Database\Connection::prepareBindings() must be of the type array, null given, called in /var/www/laravel/siequipos/vendor/laravel/framework/src/Illuminate/Database/Connection.php on line 648

    Tengo lo siguiente:

    public function create() {

    $equipo = new Equipo();

    $cpus = DB::select(id,“cpu”)
    ->from(cpus)
    ->whereRaw(id NOT IN, [], ( SELECT cpu_id FROM equipos ))
    ->get();

    dd($cpus);

    }

    La cambie por otra opción y funciono para el dd($cpus):

    $cpus = DB::table(‘cpus’)->whereNotIn(‘id’, function($q){
    $q->select(‘id’)->from(‘equipos’);
    })->get();

    dd($cpus);

    pero para la vista sale el mensaje: htmlspecialchars() expects parameter 1 to be string, object given (View: /var/www/laravel/siequipos/resources/views/admin/equipos/_fields.blade.php) (View: /var/www/laravel/siequipos/resources/views/admin/equipos/_fields.blade.php)

    y en la vista tengo:

    <div class=”md-form”>
    {!! Form::select(‘cpu_id’, $cpus, null, [‘class’=>’mdb-select’, ‘placeholder’=>’Elija una CPU’]) !!}
    {!! Form::label(‘cpu_id’, ‘CPU: *’) !!}
    {!! $errors->first(‘cpu_id’, ‘<div class=”text-danger”>:message</div>’) !!}
    </div>
    </div>

    Por favor indicarme si debo presentarle esta consulta de otra forma u otro medio.

    Agradezco mucho su colaboración, no se como seguir.

    Muchas gracias.

    #12122

    Cursosdesarrolloweb
    Jefe de claves

    Hola,

    El tipo de soporte que necesitas no se da, es algo específico para tu aplicación, lo único que te puedo decir es que te asegures de que la consulta funciona cuando la ejecutas en el gestor de bases de datos que utilizas, si es así, utiliza la herramienta que te recomiendo y por si acaso abre el archivo config/database.php y modifica strict => false.

    Saludos.

    #12131

    Agatha
    Participante

    Buen día Israel.

    Es posible que Usted me de una asesoría personalizada y con los costos que esto conlleva?.

    Muchas gracias por valiosa colaboración.

    #12138

    Cursosdesarrolloweb
    Jefe de claves

    Hola Agatha,

    Lo siento pero no me dedico a realizar este tipo de trabajos, existen muchas plataformas para contratar freelancers para este tipo de tareas.

    Espero que lo puedas solucionar.

    Un saludo.

    #12145

    Agatha
    Participante

    Hola Israel.

    De antemano muchas gracias por contestar siempre mis inquietudes.

    He encontrado una solución y quiero compartirla por si sirve de ayuda a otras personas, si tiene mejores planteamientos bienvenidos sean:

    $cpus = DB::table(“cpus”)
    ->select(‘id’, DB::raw(‘CONCAT(inventario, ” – “, servicetag, ” – “, id) AS info_cpu’))
    ->orderBy(‘inventario’, ‘ASC’)
    ->whereNotIn(‘id’, function($query) {
    $query->select(‘cpu_id’)->from(‘equipos’);
    })
    ->pluck(‘info_cpu’);

    <span style=”color: #111111; font-family: Roboto, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;”> Form::select necesita como segundo parámetro que sería un array asociativo y le estaba enviando una colección de objetos.</span>

    Hasta pronto.

     

    #12147

    Cursosdesarrolloweb
    Jefe de claves

    Muchas gracias por aportar tu solución y me alegro que lo hayas podido sacar adelante, ¡tiene buena pinta!.

    Un saludo Agatha.

Viendo 11 publicaciones - del 1 al 11 (de un total de 11)

Debes estar registrado para responder a este debate.

Síguenos en las redes sociales para estar al tanto de los últimas novedades :)

Facebook
Facebook
Google+
Google+
https://www.cursosdesarrolloweb.es/forums/topic/consultas-avanzadas">
Pinterest
Pinterest
top
Cursosdesarrolloweb ©. Todos los derechos reservados.
🔓Inscríbete a cualquier curso por 9€ y accede a todos los cursos gratuitos para siempre🔓
🌍Los cursos gratuitos son exclusivos de esta plataforma, ÚLTIMOS CURSOS EN 4K🌍
+ +

Login

Create an Account Back to login/register