#php #laravel
#php #laravel
Вопрос:
У меня есть две таблицы, первая выглядит так:
Id Name Email Password
1 Jack Jack@gmail.com Ksecneidsw54?
Schema::create('users', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('email')->unique();
$table->string('password');
}
Второй пустой:
Id Username
Schema::create('join_public', function (Blueprint $table) {
$table->id();
$table->string('username');
$table->timestamps();
}
Я хочу скопировать имя, например (Jack), из первой таблицы и поместить его в столбец {Username} во второй таблице.
Это должно выглядеть так
Id Username
1 Jack
Как я могу это сделать?
Комментарии:
1. объясните подробнее, пожалуйста. также делитесь схемой и кодом.
2. @r89human я сделал. Мне просто нужно скопировать одно конкретное значение в другую таблицу, что-то вроде функции replicate, но для одного значения.
3. вы используете модели или ничего?
4. Да, я использую модели.
Ответ №1:
если вы не используете модели.
$user = DB::table("users")->where('name', '=', 'Jack')->first();
DB::table('join_public')->insert(['username' => $user->name]);
если вы используете модели, то
$user = User::where('name', '=', 'Jack')->first();
JoinPublic::create(['username' => $user->name]);
и добавьте эту строку в model JoinPublic
protected $table = 'join_public';
protected $fillable = ['username'];