У меня есть две таблицы, одна с первичным ключом, которая ссылается на столбец другой таблицы. Теперь мне нужно скопировать все первичные ключи во вторую таблицу.вставить данные из одной таблицы в другую с laravel eloquent
У меня есть эти две модели:
class Products extends Eloquent implements UserInterface, RemindableInterface {
use UserTrait, RemindableTrait;
protected $connection = 'mysql3';
protected static $_table;
public function setTable($table)
{
static::$_table = $table;
}
public function getTable()
{
return static::$_table;
}
public function skuEAN() {
return $this->hasOne('SkutoEAN', 'seller_sku', 'seller_sku');
}
и
class SkutoEAN extends Eloquent implements UserInterface, RemindableInterface {
use UserTrait, RemindableTrait;
protected $connection = 'mysql3';
protected static $_table;
public function setTable($table)
{
static::$_table = $table;
}
public function getTable()
{
return static::$_table;
}
protected $fillable = ['seller_sku','EAN','fallback'];
public function connectToproducts() {
return $this->belongsTo('de_products');
}
Теперь в мой контроллер, я делаю это:
$data = Products::get(['seller_sku']);
foreach ($data as $a) {
$skuean = SkutoEAN::create(['seller_sku' => $a->seller_sku]);
$skuean->save();
}
Который работает, но занимает около 3 минуты, чтобы скопировать 2500 записей, что не может быть правильным. Есть ли способ скопировать данные напрямую с красноречивым, не сохраняя сначала данные в памяти?
Большое спасибо! – baao