【问题标题】:Laravel eloquent, get 500 error with just a get()Laravel 雄辩,只需一个 get() 得到 500 错误
【发布时间】:2020-04-25 19:05:35
【问题描述】:

这里是代码:

    $search = request()->get('search');
    $conciergerieSelect = request()->get('conciergerie');
    $services = Service::get();
    $available = 'Disponible';

    $prestations = Prestation::with([
        'service:name'
    ])
    ->whereHas('item', function ($query) use ($available) {
        $query->where('status', $available);
    })
    ->whereIn('conciergerie_ids', [$conciergerieSelect])
    ->where('name', 'regexp', "/$search/i")
    ->get();

    $prestationsArrayIds = [];

    foreach($prestations as $prestation) {
        array_push($prestationsArrayIds, $prestation['_id']);
    }

    // dd($prestationsArrayIds); is okay i get 200 status

    $items = Item::orderBy('name')
        ->get();

     // Here if i do dd($items); it's okay i get 200 status

    return $result = [
        'items' => $items
    ];

问题是,如果我返回 $result 来像这里一样测试 $items,我会收到 500 错误。 你有想法吗 ? 谢谢。

【问题讨论】:

  • 请发布错误消息。
  • 500 内部服务器错误
  • @Tony 请检查您的storage/logs/xxx.log 文件,然后发布。
  • @TsaiKoga 我的日志没有错误
  • 为什么将 conciergerieSelect 放在数组的一侧?那已经是一个数组了吗?我假设它来自数组输入

标签: php laravel eloquent laravel-query-builder


【解决方案1】:

试试

return $items->toJson();

如果不起作用,请尝试

return $items->toArray()

【讨论】:

    【解决方案2】:

    我终于找到了解决方案: 我忘记使用->paginate(50); 而不是->get(),因为我认为我有一个分页系统。 对不起,谢谢!

    【讨论】:

    • 好吧。但是这个问题不可靠。最好删除你的问题。谢谢
    【解决方案3】:

    请尝试以下代码,希望对您有所帮助。

    return [
        'items' => $items
    ];
    

    【讨论】:

    • 对于本地开发,您应该将 APP_DEBUG 环境变量设置为 true。然后查看您的 error.log 文件以了解错误是什么。
    猜你喜欢
    • 2020-06-06
    • 1970-01-01
    • 2017-05-16
    • 2017-08-04
    • 2016-05-08
    • 2021-07-03
    • 1970-01-01
    • 2016-06-01
    • 1970-01-01
    相关资源
    最近更新 更多