生のクエリを実行する代わりに、モデルを作成してみませんか...
それを会話と呼ぶか、何と呼んでも...
そして、あなたはただすることができます....
$result = Conversation::create(array( 'user_one' => $currentId, 'user_two' => $toUserId, 'ip' => Request::getClientIp(), 'time' => $now ))->id;
IDを返すもの...
または、Laravel 4 を使用している場合は、insertGetId メソッドを使用できます...Laravel 3 では、insert_get_id() だと思います
$results = DB::table('pm_conversations')->insertGetId(
array( 'user_one' => $currentId, 'user_two' => $toUserId, 'ip' => Request::getClientIp(), 'time' => $now )
);
このメソッドでは、テーブルの ID が自動インクリメントされる必要があるため、注意してください...
最後の方法は、最後に挿入された mysql オブジェクトを返すことができるということです....
そのようです...
$result = DB::connection('mysql')->pdo->lastInsertId();
その最後の道を選んだら…
行きます...
public static function createConversation( $toUserId )
{
$now = date('Y-m-d H:i:s');
$currentId = Auth::user()->id;
$results = DB::table('pm_conversations')->insert(
array( 'user_one' => $currentId, 'user_two' => $toUserId, 'ip' => Request::getClientIp(), 'time' => $now )
);
$theid= DB::connection('mysql')->pdo->lastInsertId();
return $theid;
}
個人的には、実際のモデルを作成する最初の方法を選択します。そうすれば、問題のアイテムのオブジェクトを実際に持つことができます。次に、モデルを作成して save().... を呼び出す代わりに、YourModel::create() を呼び出すと、最新のモデル作成の ID が返されます。