php - htmlentities - print html laravel
Siembra mĂșltiples filas a la vez laravel 5 (3)
Actualmente estoy tratando de sembrar mi tabla de usuarios. Si lo intento así con 2 filas, falla. Funciona bien si solo uso una matriz única en lugar de las 2 matrices dentro de la matriz $ users para crear algunos datos falsos.
¿Qué estoy haciendo mal, cuál es la forma correcta de hacer esto?
class UserTableSeeder extends Seeder {
public function run()
{
DB::table(''users'')->delete();
$users = [
[''id'' => 1, ''name'' => ''Stephan de Vries'', ''username'' => ''stephan'', ''email'' => ''[email protected]'', ''password'' => bcrypt(''carrotz124'')],
[''id'' => 2, ''name'' => ''John doe'', ''username'' => ''johnny'', ''email'' => ''[email protected]'', ''password'' => bcrypt(''carrotz1243'')],
];
User::create($users);
}
}
Esto funciona, incluso para Laravel 5.3.
<?php
use Illuminate/Database/Seeder;
class UsersTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
// check if table users is empty
if(DB::table(''users'')->get()->count() == 0){
DB::table(''users'')->insert([
[
''name'' => ''Administrator'',
''email'' => ''[email protected]'',
''password'' => bcrypt(''password''),
''created_at'' => date(''Y-m-d H:i:s''),
''updated_at'' => date(''Y-m-d H:i:s''),
],
[
''name'' => ''Agency'',
''email'' => ''[email protected]'',
''password'' => bcrypt(''password''),
''created_at'' => date(''Y-m-d H:i:s''),
''updated_at'' => date(''Y-m-d H:i:s''),
],
[
''name'' => ''End'',
''email'' => ''[email protected]'',
''password'' => bcrypt(''password''),
''created_at'' => date(''Y-m-d H:i:s''),
''updated_at'' => date(''Y-m-d H:i:s''),
]
]);
} else { echo "/e[31mTable is not empty, therefore NOT "; }
}
}
Si tienes que usar el modelo necesitas un bucle:
foreach($users as $user){
User::create($user);
}
De lo contrario, puedes usar DB::table()
e insert
:
DB::table(''users'')->insert($users);
En realidad, también puede llamar a insert()
en el modelo (la consulta resultante es la misma)
User::insert($users);
Tenga en cuenta que si elige el método de insert
, pierde funcionalidad especial de Eloquent, como marcas de tiempo y eventos de modelo.
public function run()
{
//
for ($i=0; $i < 1000; $i++) {
DB::table(''seo_contents'')->insert([
''title'' => str_random(10),
''content'' => str_random(100),
''created_at''=>date(''Y-m-d H:i:s''),
''updated_at''=>date(''Y-m-d H:i:s''),
]);
}
}