سلام
آی دی رکودی رو که در حال ثبتش هستم رو با چه دستوری به دست بیارم؟
آی دی رکودی رو که در حال ثبتش هستم رو با چه دستوری به دست بیارم؟
آی دی رکورد جدید (حل شد)
|
02-04-1394، 04:34 ب.ظ
سلام
آی دی رکودی رو که در حال ثبتش هستم رو با چه دستوری به دست بیارم؟
02-04-1394، 04:41 ب.ظ
(آخرین تغییر در ارسال: 02-04-1394، 04:44 ب.ظ توسط mehdi king.)
سلام
من هم دنبال این جواب بودم میخواستم عکس که آپلود میشه هم نام با آی دی رکورد جدید باشه از این روش استفاده کردم نمیدونم حالا چقدر درست باشه اما کار میکنه $image = Yii::app()->db->createCommand()->select('MAX(id) as max')->from('posts')->queryRow(); با کد بالا آخرین ای دی موجود در جدول posts را بدست آوردم و در نهایت $image++ کد ای دی که قرار ثبت بشه البته این کد ها برای فریمورک Yii میباشد اگر خود Query هم خواستی بگو بدم تشکر شده توسط: hamid
02-04-1394، 04:51 ب.ظ
اینطوری اگه مثلا آخرین رکورد حذف بشه و بعدش یه رکورد جدید درج بشه به مشکل میخوریم.
02-04-1394، 04:52 ب.ظ
رکوردی که درحال ثبت هستین رو نمیشه ولی بعد از ثبت با فیلد id بهش دسترسی دارین. روشی که گفتین هم مناسب نیست چون ممکنه در فاصله ای که شما ID رو خوندین و میخواین ثبت کنین، یک کاربر دیگه یه عکس آپلود کرده باشه و عکس شما روی عکس اون ذخیره بشه. اول رکورد رو ذخیره کنید و بعد عکس رو آپلود کنید. نهایتش اینه که اگه آپلود امکان پذیر نبود، رکورد رو حذف میکنید.
تشکر شده توسط: hamid , mehdi king
02-04-1394، 05:08 ب.ظ
این دو تا فرقشون چیه؟
model->oldPrimaryKey و model->PrimaryKey
02-04-1394، 05:11 ب.ظ
oldPrimaryKey کلید اصلی هست که وقتی رکورد رو find کردین، داخلش قرار میگیره. primaryKey هم کلید جدیده. از oldPrimaryKey برای وقتی استفاده میشه که میخواین رکورد رو اصلاح کنید و کلید اصلی رو عوض کردین.
$model = Users::findByPk(1); $user->id = 5; $user->save(); // Now, framework uses $user->oldPrimaryKey (1) in WHERE clause to update user #1 تشکر شده توسط: hamid
02-04-1394، 05:13 ب.ظ
پس استاد با این روش میشه آی دی پستی که ذخیره شده رو بدست آورد ؟
if ($model->save()) { echo $model->id; }
02-04-1394، 05:14 ب.ظ
تشکر شده توسط: mehdi king
|
|