Как тернарные операторы работают при запросах из базы данных в Laravel

Было интересно, почему это нельзя делать. Это находится под контроллером импорта

if (!empty($insert)) {
    $insertData = DB::table('table_name')->insert($insert) 
        ? return back()->with('message', 'File contents successfully added') 
        : return back()->with('message', 'Error adding file contents');
}

Создание ошибки syntax error, unexpected 'return' (T_RETURN) FatalThrowableError

Однако он может сделать это:

if (!empty($insert)) {
    $insertData = DB::table('table_name')->insert($insert);

    if ($insertData)
        return back()->with('message', 'File contents successfully added');
    else
        return back()->with('message', 'Error adding file contents');
 }
return DB::table('table_name')->insert($insert) ? back()->with('message', 'File contents successfully added') : back()->with('message', 'Error adding file contents');
tkausl 08.11.2018 02:37

происходит то же самое, @tkausl

Kyle 08.11.2018 02:38

Вы пытаетесь установить значение $insertData для обратного вызова ...

Peter 08.11.2018 02:40

Я действительно сомневаюсь, что мой код вызывает такую ​​же ошибку.

tkausl 08.11.2018 02:43

@Peter, разве не так работают тернарные операции? ($ foo = условие? значение, если да: значение, если нет)

Kyle 08.11.2018 02:47

Я не думаю, что вы можете установить значение переменной для обратного вызова. php.net/manual/en/function.return.php

Peter 08.11.2018 02:50
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
6
39
1

Ответы 1

Не добавляйте возврат в свой запрос, вы пытаетесь установить значение $insertData.

вот альтернативный способ сократить ваш код:

if (!empty($insert)) {
    $insertData = DB::table('table_name')->insert($insert);
    if ($insertData) return back()->with('message', 'File contents successfully added'); 
    return back()->with('message', 'Error adding file contents');
}

Другие вопросы по теме