以下、LaravelにおけるINSERT文の実行例となります。
クエリビルダー
insertではなくinsertGetIdを指定すると、autoincrement列のIDを取得することが出来る。
<?php
namespace App\Repositories;
use DB;
use Illuminate\Http\Request;
class CategoryRepository
{
private $tableName = "category";
public function insert($request) {
$params = array(
"order_no" => $request->order_no,
"name" => $request->name,
);
try {
$id = DB::table($this->tableName)->insertGetId(
$params
);
} catch (Exception $ex) {
Log::info("insert エラー: " . $ex->getMessage());
}
return $id;
}
}
|
直書き
<?php
namespace App\Repositories;
use Carbon\Carbon;
use DB;
class UrlRepository
{
public function insert(String $websiteId, String $url)
{
DB::insert('
INSERT INTO urls(
website_id,
url,
created_at,
updated_at
) values (
?,
?,
?,
?
)',
[
$websiteId,
$url,
Carbon::now(),
Carbon::now(),
]
);
}
}
|