【问题标题】:got json_code data when use dump die, but return illegal offset when returning to view laravel使用 dump die 时得到 json_code 数据,但返回查看 laravel 时返回非法偏移量
【发布时间】:2020-03-04 15:25:42
【问题描述】:

我正在使用 guzzle 访问我制作的 API,我想返回 this json_decode 的值

    public function edit($id)
    {

    $client = new Client();
    $response = $client->request('GET', '103.200.4.97:9090/api/v1/content/'.$id);

    $body = $response->getBody();
    $data = json_decode($body, true);

    return view('content.edit-content', compact('data'));

    }

当我使用 dd($data); 转储 json_decode 时,我得到了 json 值,但是当我想返回该值以使用紧凑型查看时,我得到错误非法偏移字符串 'id' p>

这是我的看法

@extends('layouts.app')

@section('content')
<form method="post" action="{{ url('/update_content') }}">
    @csrf
    @foreach ($data as $item)

    <div class="form-group">
        <label for="thumbnail_url">Thumbnail URL</label>
        <input type="hidden" name="id" value="{{ $item['id'] }}">
        <input type="text" class="form-control" id="thumbnail_url" placeholder="Enter Thumbnail url" name="thumbnail_url" value="{{ $item['thumbnail_url'] }}">
    </div>
    <div class="form-group">
        <label for="image_url">Image URL</label>
        <input type="text" class="form-control" id="image_url" placeholder="Enter Image" name="image_url" value="{{ $item['image_url'] }}">
    </div>
    <div class="form-group">
        <label for="category_id">Category id</label>
        <input type="text" class="form-control" id="category_id" placeholder="Enter Category" name="category_id" value="{{ $item['category_id'] }}">
    </div>
    <div class="form-group">
        <label for="title">Title</label>
        <input type="text" class="form-control" id="title" placeholder="Enter Title" name="title" value="{{ $item['title'] }}">
    </div>
    <div class="form-group">
        <label for="description">Description</label>
        <input type="text" class="form-control" id="description" placeholder="Enter Description" name="description" value="{{ $item['description'] }}">
    </div>

    @endforeach
    <button type="submit" class="btn btn-primary">Submit</button>
</form>

@endsection

【问题讨论】:

    标签: json laravel api guzzle


    【解决方案1】:

    请试试这个。

    public function edit($id)
    {
    
        $data= Client::where('id',$id)->first();
    
        return view('content.edit-content', ['data' => $data]);
    
    }
    
    

    【讨论】:

    • 当我使用第一个时,我得到一个错误未定义索引:id,当我使用第二个时它返回相同的错误非法偏移字符串'id'
    • @Villian 更新。
    • 第一个我得到一个错误 undefined offset 1,第二个我得到一个错误 undefined offset 1
    • 我已经弄清楚了,我用foreach调用了一个错误的数据
    【解决方案2】:

    将获取内容添加到您的响应正文中

    $data = json_decode($response->getBody());
    return view('content.edit-content', ['data'=> $data->data]);
    

    在您的 html 中:

    @foeach($data as $d)
     ...
     {{ $d->id }}
    @endforeach
    

    【讨论】:

    • 仍然得到同样的错误非法偏移字符串'id'
    • 我仍然得到同样的错误非法偏移字符串'id'
    • @Villian 你能从你的芯片转储中发布样本数据吗
    • ** array:2 [▼ "status" => "success" "data" => array:9 [▼ "id" => 1 "thumbnail_url" => "ini adalah thumbnail" " image_url" => "ini adalah 图片 url" "category_id" => 1 "title" => "ini adalah title" "description" => "ini adalahdeskripsi" "status" => "1" "created_at" => " 2019-11-06 15:02:28" "updated_at" => "2019-11-06 15:02:28" ] ] **
    • 它仍然得到同样的错误非法偏移字符串'id'
    猜你喜欢
    • 2016-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-29
    • 2016-05-13
    • 2016-11-25
    • 1970-01-01
    • 2015-07-16
    相关资源
    最近更新 更多