Перейти к содержимому


Поля id и raw

id поле raw

Сообщений в теме: 2

#1 clientbaseuser

    Участник

  • Пользователи
  • PipPip
  • 18 сообщений

Отправлено 26 Май 2017 - 14:55

Здравствуйте, в вычислениях наткнулся на поля id и raw в полях со связями переменной $line. Можно разъяснить их различие?

#2 AntonKravchenko

    Активный участник

  • Пользователи
  • PipPipPip
  • 137 сообщений
  • Пол:Мужчина
  • Город:Нижний Новгород

Отправлено 26 Май 2017 - 15:52

если поле связи заполнено, то id равно raw. Если не заполнено, то raw = 0, а запрос id может вызвать ошибку. Я обычно использую raw для проверки заполнения поля, а id для вычислений и только после проверки заполнения поля. Пример:
if ($line['Связь']['raw']) $var = $line['Связь']['id'];


#3 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 693 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 26 Май 2017 - 17:56

ID берется из связанной записи, а raw - это сырое значение поля связи в БД. Если связь активна, то raw равно id, т.к. связь идет именно по полю id. Если же не активная - то raw либо равно 0, либо любому другому числу, не имеющему связи с реальной записью (например, после удаления связанной записи с данным id); ID же в этом случае неопределенно, т.е. такого ключа массива нет, т.к. нет связанной записи.





Количество пользователей, читающих эту тему: 3

0 пользователей, 3 гостей, 0 анонимных