2013-12-02 4 views
0

Я пытаюсь получить следующий идентификатор продукта, но он говорит, что мне нужно указать критерии ... CDbCriteria. Я искал вокруг, я не вижу других людей, использующих критерии, поэтому я должен делать что-то неправильно? Я ищу следующий product_id.ищет следующий идентификатор перед сохранением в yii

public function getNextID() 
{ 
    $model = new Product(); 

    $last_ID= $model->findByAttributes(array('product_id'=>'product_id DESC')); 
    $next_ID=$last_ID+1; 

    return $next_ID; 
} 
+1

Зачем вам нужен этот следующий идентификатор? Такой подход не удастся, если два или более запросов обрабатываются точно в одно и то же время. Используйте первичный ключ автоматической инициализации или внешнее решение, которое генерирует гарантированные не повторяющиеся идентификаторы. – DCoder

+0

возможно, инкремент не равен 1; это бесполезный вопрос; –

+0

oh хороший пункт. Благодаря! – jaime

ответ

0

Не совсем понимаю, что знать, прежде чем вставить идентификатор, но попытаться сделать это

$criteria = new CDbCriteria(); 
$criteria->select = 'id'; 
$criteria->order = 'id DESC'; 
$criteria->limit = 1; 
$product = Product::model()->find($criteria); 
// id of last row 
$lastId = $product->id; 
Смежные вопросы