Как перенести поля в базу данных, где одно поле иностранцы?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как перенести поля в базу данных, где одно поле иностранцы?

Сообщение Anonymous »

Я не могу добавить поля в профиль, user_id, кажется, работает, значения верны, но это не добавляет в эту область, но если я изменяю его вручную в MySQL, это меняет значение без ошибок, что мне делать? Попробуйте < /p>
У меня есть база данных, вот ее миграция (профиль): < /p>
public function up()
{
$this->forge->addField([
'id' => [
'type' => 'INT',
'constraint' => 10,
'unsigned' => true,
'auto_increment' => true,

],
'firstname' => [
'type' => 'VARCHAR',
'constraint' => '128',
'null' => true,
],
'lastname' => [
'type' => 'VARCHAR',
'constraint' => '128',
'null' => true,
],
'email' => [
'type' => 'VARCHAR',
'constraint' => '128',
'null' => true,

],
'phone' => [
'type' => 'VARCHAR',
'constraint' => '128',
'null' => true,

],
'description' => [
'type' => 'TEXT',
'constraint' => '128',
'null' => true,

],
'date_birth' => [
'type' => 'DATE',
'null' => true,
],
'avatar' => [
'type' => 'TEXT',
'null' => true,
],
'user_id' => [
'type' => 'int',
'constraint' => 11,
'unsigned' => true,
'null' => false,
],
]);

$this->forge->addForeignKey('user_id', 'user', 'id', '', 'CASCADE');
$this->forge->addPrimaryKey('id')->addUniqueKey('user_id');;
$this->forge->createTable('profile');
}

public function down()
{
$this->forge->dropTable('profile');
}
< /code>
Пользовательская миграция: < /p>
public function up()
{
$this->forge->addField([
'id' => [
'type' => 'INT',
'constraint' => 10,
'unsigned' => true,
'auto_increment' => true,
],
'name' => [
'type' => 'VARCHAR',
'constraint' => '128',
'null' => false,
],
'password_hash' => [
'type' => 'VARCHAR',
'constraint' => '255',
'null' => false,
]
]);

$this->forge->addPrimaryKey('id')->addUniqueKey('name');
$this->forge->createTable('user', true);
}

public function down()
{
$this->forge->dropTable('user');
}
< /code>
Регистрация контроллера (задача при создании пользователя - это создание отдельного профиля): < /p>
public function create_account()
{
$user = $this->request->getPost();

$avatar = $user['avatar'];

if ($user) {
if ($this->model->insert($user)) {
$user_id = $this->request->getPost('name');
$login = $this->model->where('name', $user_id)->first();
$session = session();
$session->set('user_id', $login->id);
$session->set('user_name', $login->name);
if (session()->has('user_id') && $this->profile->insert(['firstname' => 'ivan', 'avatar' => $avatar, 'user_id' => 18])) {
return redirect()->to('/home')->with('success', ['Вы успешно авторизовались']);
}
} else {
return redirect()->back()->with('errors', $this->model->errors())->with('warning', 'Invalid data')->withInput();
}
}
}



Подробнее здесь: https://stackoverflow.com/questions/796 ... is-foreign
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»