与其做一个原始查询,不如创建一个模型......
称之为对话,或者其他什么...
然后你就可以做......
$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