Ассоциативный массив

InstantCMS 2.X
#1 28 июня 2017 в 18:58
Всем привет, есть ли функция в движке получения Ассоциативный массив из запроса?

Например есть запрос в базу
  1. $model->filterEqual('pr_id', $pr_id);
  2. $prs = $model->get('prs');
#3 30 июня 2017 в 14:49
Еще один вопросик как сформировать запрос для увеличения поля на 1 в примеру
  1. $model->update('table', array('pole'=>225));
, теперь поле
  1. pole = 255
. А как сделать что бы при обновлении поля увеличить это поле на один? Что то типо этого:
  1. $model->update('table', array('pole'=>'pole + 1'));
#4 30 июня 2017 в 15:34


Еще один вопросик как сформировать запрос для увеличения поля на 1 в примеру

  1. $model->update('table', array('pole'=>225));
, теперь поле
  1. pole = 255
. А как сделать что бы при обновлении поля увеличить это поле на один? Что то типо этого:
  1. $model->update('table', array('pole'=>'pole + 1'));

ВаленокPC
Есть же метод.
#5 30 июня 2017 в 18:01

$model->update('table', array('pole'=>'pole + 1'))

solntsev

полагаю, так:

  1. $pole = 255;
  2. $model->update('table', array('pole'=>$pole + 1));
или

  1. $pole = 255;
  2. $model->update('table', array('pole'=>$pole++));
#6 30 июня 2017 в 20:37
Странник

А если ты не знаешь какое значение будет у поля!
#7 30 июня 2017 в 20:39



Еще один вопросик как сформировать запрос для увеличения поля на 1 в примеру

  1. $model->update('table', array('pole'=>225));
, теперь поле
  1. pole = 255
. А как сделать что бы при обновлении поля увеличить это поле на один? Что то типо этого:
  1. $model->update('table', array('pole'=>'pole + 1'));

ВаленокPC
Есть же метод.

solntsev

А если тебе нужно из одной тоблици увеличить несколько значений! То тогда делать
  1. increment
на каждое значение! Что то тут не так. Или я что то не понимаю.
#8 30 июня 2017 в 20:40
Будет ли работать вот это
  1. $model->update('table', array('pole'=>'pole + 1'));
Или оно так и запишется
  1. pole + 1
#9 30 июня 2017 в 20:52

А если ты не знаешь какое значение будет у поля!

ВаленокPC
Странник, знает какое значение у поля, но никому не скажет.

Или оно так и запишется

ВаленокPC
Так и запишется, если структура поля позволит.

А если тебе нужно из одной тоблици увеличить несколько значений!

ВаленокPC
Мне это не нужно smileно вы можете использовать конструкцию
  1. $model->db->query("UPDATE cms_table_name i SET i.field_1 = i.field_1 + 1, i.field_2 = i.field_2 + 1");
#10 30 июня 2017 в 23:10

А если ты не знаешь какое значение будет у поля!

ВаленокPC
Если ты программист, то знаешь.

Если серьезно, вопрос не задавался, как узнать значение поля. Вопрос задавался, как его инкрементировать. Очевидно, перед тем, как его инкрементировать, его надо получить.
#11 1 июля 2017 в 02:25
Жгёте, мне нравится)

Будет ли работать вот это

ВаленокPC
В поле "pole" запишется буквально "pole + 1", если поле строковое, например, типа varchar.
Вам же написали, используйте метод

  1. $model->increment('table_name', 'field_name', $насколько_увеличить);
Например, увеличить значение поля "pole" на один:

  1. $model->increment('table_name', 'pole'); // по умолчанию увеличивается на один
#12 1 июля 2017 в 16:36


Жгёте, мне нравится)

Будет ли работать вот это

ВаленокPC
В поле "pole" запишется буквально "pole + 1", если поле строковое, например, типа varchar.
Вам же написали, используйте метод

  1. $model->increment('table_name', 'field_name', $насколько_увеличить);
Например, увеличить значение поля "pole" на один:

  1. $model->increment('table_name', 'pole'); // по умолчанию увеличивается на один

Fuze
Это все понятно, только есть некоторые непонятки. если полей около много то однотипных запросов будет много. Это не есть хорошо.!
#13 1 июля 2017 в 19:17
Все сори за тупость! Башка не варит, все разобрался!
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.