Как добавить оператор if для создания в Laravel
Я новичок в 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
Является ответом!

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'))
}

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);
};
Помочь в развитии проекта: