Почему ошибка “InvalidArgumentException Trailing data” если использую toArray() для выборки из БД?

186
25 ноября 2018, 21:20

Использую Eloquent при обращении к БД. Метод в модели:

    public static function lastreport(){
        $lastReport = DayReport::with('elementary')
            ->orderBy('id', 'DESC')
            ->where("username", "=", Auth::user()->name)
            ->first();
        return $lastReport;
    }

Обращаюсь к нему из контроллера:

dd(DayReport::lastReport()->toArray());

Хочу вытащить резутаты и отправить их в виде массива или json клиенту, там js это дело распарсит и отобразит на странице. Но когда добавляю toArray(), то получаю ошибку "InvalidArgumentException Trailing data". Если нет toArray(), то во вложенной структуре вижу интересующие меня данные связанных таблиц. Как устранить ошибку или как лучше отправить джаваскрипту данные иным способом?

Answer 1

Model DayReport

namespace App;
use Illuminate\Database\Eloquent\Model;
class DayReport extends Model
{
    protected $connection = 'mysql';
    protected $table = {{table-name}};
}

Controller DayReport

    namespace App\Http\Controllers;
    use App\DayReport;
    use Illuminate\Http\Request;
    use Illuminate\Support\Facades\DB;
    class ShopsController extends Controller
    {
    public function lastreport(Request $request)
    {
     $lastReport = DayReport::orderBy('id', 'desc')
            ->where("username",Auth::user()->name)
            ->first();
    print_r($lastReport);die;
        return $lastReport;
      }
    }
READ ALSO
Как найти самое длинное слово в textarea на Js

Как найти самое длинное слово в textarea на Js

Есть button,h1 и textarea мне нужно найти самое длинное слово в textarea

161
Как на чисто JS распарсить массив с JSON

Как на чисто JS распарсить массив с JSON

На стороне сервера формирую массив вида:

185
Функции декораторы

Функции декораторы

Ниже приведён общий пример декоратораУ меня такой вопрос: 2й аргумент в декораторе "MyFunc" это и есть обёртка которую возвращает декоратор?

187
Vuex — как в action получить доступ к mutation из модуля c приватным namespace?

Vuex — как в action получить доступ к mutation из модуля c приватным namespace?

Из модуля products пробую получить доступ к mutations из модуля cartЭтот вариант не срабатывает

165