Как добавить оператор if для создания в Laravel


Как добавить оператор if для создания в Laravel

22.10.2020 03:44:46 Просмотров 11 Источник

Я новичок в Laravel.

Это часть моего кода:

foreach ($terms as $key => $term) {
            $typeProceeding = $this->typeProceeding->where('id', $term->type_proceeding_id)->first()->name;


            $calendar->event(Event::create($term->name)
                ->name($term->name)
                ->description($term->description)
                ->uniqueIdentifier($user->id . '-' . $term->id)
                ->createdAt(new DateTime($term->created_at))
                ->startsAt(new DateTime($term->begin_date))
                ->endsAt(new DateTime($term->end_date))
                ->appendProperty(TextPropertyType::create('CLASS', 'PUBLIC'))
                ->appendProperty(TextPropertyType::create('CREATED', $term->created_at))
                ->appendProperty(TextPropertyType::create('LAST-MODIFIED', $term->updated_at))
                ->appendProperty(TextPropertyType::create('SEQUENCE', $key))
                ->appendProperty(TextPropertyType::create('TRANSP', 'OPAQUE'))
                ->appendProperty(TextPropertyType::create('LOCATION', ''))



                ->appendProperty(TextPropertyType::create('STATUS', strtoupper($this->termStatus->where('id', $term->term_status_id)->first()->name)))
                ->appendProperty(TextPropertyType::create('TYPE-PROCEEDING', strtoupper($typeProceeding)))
                ->appendProperty(TextPropertyType::create('REGARDS-ATTENDANCE', ($term->regards_attendance == 0) ? 'NIE' : 'TAK'))
                ->appendProperty(TextPropertyType::create('REGARDS-CORRESPONDENCE', ($term->regards_correspondence == 0) ? 'NIE' : 'TAK'))

            );
        };

Это прекрасно работает, но мне нужно добавить что-то вроде этого:

if(asset($term->term_status_id) { 
->appendProperty(TextPropertyType::create('STATUS', strtoupper($this->termStatus->where('id', $term->term_status_id)->first()->name)))
}

if(asset($term->regards_attendance){
->appendProperty(TextPropertyType::create('REGARDS-ATTENDANCE', ($term->regards_attendance == 0) ? 'NIE' : 'TAK'))
}

Мой объект не всегда имеет term_status_id и regards_attendance.

Как я могу это сделать?

Пожалуйста, помогите мне

У вопроса есть решение - Посмотреть?

Ответы - Как добавить оператор if для создания в Laravel / How add if statement to create in Laravel

Является ответом!
abhay

22.10.2020 03:53:56

Попробовать это property_exists — проверяет, есть ли у объекта или класса свойство

  if(property_exists($term,'term_status_id') { 
    ->appendProperty(TextPropertyType::create('STATUS', strtoupper($this- 
     >termStatus->where('id', $term->term_status_id)->first()->name)))
    }



  if(property_exists($term,'regards_attendance'){
    ->appendProperty(TextPropertyType::create('REGARDS-ATTENDANCE', ($term- 
     >regards_attendance == 0) ? 'NIE' : 'TAK'))
    }
GAURAV VAGHELA

22.10.2020 04:20:17

Попробовать это

foreach ($terms as $key => $term) {
            $typeProceeding = $this->typeProceeding->where('id', $term->type_proceeding_id)->first()->name;
            $event = Event::create($term->name)
                ->name($term->name)
                ->description($term->description)
                ->uniqueIdentifier($user->id . '-' . $term->id)
                ->createdAt(new DateTime($term->created_at))
                ->startsAt(new DateTime($term->begin_date))
                ->endsAt(new DateTime($term->end_date))
                ->appendProperty(TextPropertyType::create('CLASS', 'PUBLIC'))
                ->appendProperty(TextPropertyType::create('CREATED', $term->created_at))
                ->appendProperty(TextPropertyType::create('LAST-MODIFIED', $term->updated_at))
                ->appendProperty(TextPropertyType::create('SEQUENCE', $key))
                ->appendProperty(TextPropertyType::create('TRANSP', 'OPAQUE'))
                ->appendProperty(TextPropertyType::create('LOCATION', ''));
            
            if(!empty($term->term_status_id)){
                $event = $event->appendProperty(TextPropertyType::create('STATUS', strtoupper($this->termStatus->where('id', $term->term_status_id)->first()->name)));
            }
            if(!empty($term->regards_attendance)){
                $event = $event->appendProperty(TextPropertyType::create('REGARDS-ATTENDANCE', ($term->regards_attendance == 0) ? 'NIE' : 'TAK'));
            }
            $event = $event->appendProperty(TextPropertyType::create('TYPE-PROCEEDING', strtoupper($typeProceeding)))->appendProperty(TextPropertyType::create('REGARDS-CORRESPONDENCE', ($term->regards_correspondence == 0) ? 'NIE' : 'TAK'));

            $calendar->event($event);
        };
Помочь в развитии проекта:
Закрыть X