LaravelとMySQLで1048576の罠
PDOの設定をしないと、1カラム1Mbyte(1048576 byte)までしか、取得できない。 でかく設定する必要あり。
app/config/database.php
'connections' => array(
'mysql' => array(
'driver' => 'mysql',
'host' => '**',
'database' => '**',
'username' => '**',
'password' => '**',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'options' => array(PDO::MYSQL_ATTR_MAX_BUFFER_SIZE => 16777216),
),
Eloquent-ORMを利用し、新規インサートをした後、インサートされた結果のオートインクリメントのPKを取得したい場合。
Eloquent-ORMを利用し、新規インサートをした後、インサートされた結果のオートインクリメントのPKを取得したい場合。
事前に、
->setIncrementing(false);
をしておくて、get last insert id的な感じで、インサートした後のIDを取得してくれる。 でないと、自動的にインクリメントIDが入ってくる。
LaravelのEloquent-ORMがメモリを喰ってしょうがない件
LaravelのEloquent-ORMはデフォルトでメモリ上にクエリログを保持する。 これがガッツリメモリを食う。実メモリを食う。 なので、
DB::connection()->disableQueryLog();
と書いて、ディサブるといいかも。