wherein varios tablas multiples filtros consultas consultar anidadas php laravel laravel-5 eloquent

php - tablas - laravel varios where



¿Por qué Laravel Eloquent genera SQL sin comillas? (1)

Estoy intentando ejecutar sudo php artisan migrate db:seed en mi instalación de Laravel y obteniendo el siguiente error:

[Illuminate/Database/QueryException] Array to string conversion (SQL: insert into `sponsor_phones` (`phone_number`, `type`, `is_primary`, `sponsor_id`, `updated_at`, `created_at `) values (247-216-6255 x4356, Home, 1, 101, 2017-05-30 23:31:59, 2017-05-30 23:31:59))

Parece que el SQL Eloquent está creando para sembrar carece de comillas donde se necesitan. Agregar citas en los lugares correctos (a continuación) le permite ejecutarlo.

insert into `sponsor_phones` (`phone_number`, `type`, `is_primary`, `sponsor_id`, `updated_at`, `created_at` ) values ( ''(732) 540-9730'', ''Busi'', 0, 51, ''2017-05-27 21:53:44'', ''2017-05-27 21:53:44'');

No estoy seguro de qué es lo que está causando este error, y buscar razones por las cuales Eloquent no agrega citas parece estar fallando en producir resultados útiles.

Tengo un repositorio para que pueda echar un vistazo (y porque, como proyecto de código abierto, necesita uno de todos modos).


El problema no está con las citas. En su ModelFactory.php, en las funciones getTypePhone , getTypeEmail y getTypeAddress está regresando

return $faker->randomElements(array(''Work'', ''Cell'', ''Home'', "VoIP"));

$faker->randomElements devuelve una matriz. En su lugar, use $faker->randomElement para devolver un solo elemento de la matriz.

return $faker->randomElement(array(''Work'', ''Cell'', ''Home'', "VoIP"));