Für mein Paket versuche ich mehrere Spalten in meiner users
Datenbanktabelle zu erstellen.Konvertierung von Array zu String: Benutzermigrationsdatei
Meine Tabellenname Variablen sind wie folgt definiert:
private function fields()
{
return $this->fields = [
'id' => [
'type' => 'increments',
],
'name' => [
'type' => 'string',
'length' => 250,
],
'email' => [
'type' => 'string',
'length' => 250,
'extra' => 'unique'
],
'password' => [
'type' => 'string',
'length' => 100,
],
'access_token' => [
'type' => 'string',
'length' => 255,
],
'remember_token' => [
'type' => 'string',
'length' => 100,
],
];
}
Ich versuche, über eine foreach-Schleife wie dies durch diese Schleife:
Schema::create('users', function($table) {
foreach ($this->fields as $field => $value) {
if(!Schema::hasColumn('users', $field)) {
var_dump(gettype($value['type']));
$table->$value['type']($field);
}
}
});
Als ich php artisan migrate
laufen, erhalte ich eine Fehler: Array to string conversion
Der $value['type']
Teil ist das Problem. Ich kenne das Problem, kann aber nicht herausfinden, wie ich das umgehen kann.
Oh! Ich habe versucht, es in eine Variable wie $ type = $ value zu setzen, ich habe den '['type']' vergessen. Danke für Ihre Hilfe! – RW24