【问题标题】:How to display array from a query in laravel如何在laravel中显示查询中的数组
【发布时间】:2020-09-03 16:21:37
【问题描述】:

我正在从我的数据库中构建一个 rest api,但我得到的值不是我想要的。

我的代码

该函数从数据库中获取值并以json格式返回值:

 public function index()
{
    $data = Books::all(['id','authors']);
    return response()->json(
                array(
                    'status_code' => $this->status_code,
                    'status' => $this->status, 
                    'data' => $data
                )
            );
}

输出

{
"status_code": 200,
"status": "success",
"data": [
    {
        "id": 1,
        "authors": "[Kendra McLaughlin]"

    }
 }

不是这个

{
"status_code": 200,
"status": "success",
"data": [
    {
        "id": 1,
        "authors": [
            Kendra McLaughlin
          ]

    }
}

【问题讨论】:

  • $data = Books::get(['id','authors']); 呢?
  • 它给出了相同的值。它对我不起作用。
  • 你不可能得到"authors": "[Kendra McLaughlin]",你编的。
  • @porloscerrosΨ 我在哪里可以查看如何以正确的方式保存它。有教程吗?
  • 从外观上看,您可以建立关系,就像 LucasPace 在下面的答案中建议的那样。但我对你的申请一无所知。 Laravel From Scratch

标签: json laravel rest


【解决方案1】:

您可能将作者保存为列中的字符串。这是一种错误的方法,您不能将数组保存为字符串。我建议你了解Relationship

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-10
    相关资源
    最近更新 更多