возвращенный вставленный идентификатор с помощью $this-> запрашивает в cakephp

Я использую это ExtensionMethod для SqlConnection:

public static List<string> GetTableNames(this SqlConnection connection)
{
    using(SqlConnection conn = connection)
    {
        if(conn.State == ConnectionState.Open)
        {
            return conn.GetSchema("Tables").AsEnumerable().Select(s => s[2].ToString()).ToList();
        }            
    }
    //Add some error-handling instead !
    return new List<string>();        
}
6
задан SMSM 5 November 2009 в 10:16
поделиться

3 ответа

Предполагая, что вы используете MySQL, после вставки вы можете выполнить следующий запрос:

$ array_with_id = $ this-> query ('выберите last_insert_id () as id;' );

Но, как упоминал Куак, обычный способ вставки данных - это использовать метод save (). Если вы используете этот метод, идентификатор вставленной записи будет автоматически доступен в свойстве $ id соответствующей модели.

3
ответ дан 16 December 2019 в 21:41
поделиться

Если вы используете метод save (), вы можете получить такой идентификатор:

$this->Model->save($data);
$id = $this->Model->id;
3
ответ дан 16 December 2019 в 21:41
поделиться

В классе модели Cake есть функция, которая получает последний вставленный идентификатор:

$this->Model->getLastInsertID()

строка 2584 в {project-folder} /cake/libs/model/model.php

2
ответ дан 16 December 2019 в 21:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: