0

データベースからデータを収集して印刷する Web アプリを開発しています。Laravel フレームワークを使用しています。コードの使用法を以下に示しました。JSON 応答を PHP コードで直接表示できますが、JSON 応答を繰り返し処理しようとしても、何も取得できません。

Laravel Facades ライブラリを使用して JSON オブジェクトを生成する方法は次のとおりです。

  $worklogs = Response::json($data, $this->getStatusCode(), $headers);

データを PHP ページに渡すために使用したコードは次のとおりです。

  return view('index')->with('worklogs', $worklogs);

次のコードを使用して、PHP ページから収集したデータを印刷できます。

  {{ $worklogs }}

しかし、ループを使用して反復しようとするとforeach、次のようにエラーが発生します。

キャプチャされたエラー

PHPページでは、これは私がコーディングした方法ですが、機能していません: キャプチャされた index.blade.php ファイル部分

4

2 に答える 2

1

私が理解しているかどうかわかりません..まず第一に、これはあなたがjsonを返す方法です:

return Response::json([
    'hello' => $value
], $headers);

2番目: jSonを繰り返すとはどういう意味ですか? 3 番目: エラー メッセージには、Undefined variable $datas .. not $data, $datas と記載されています。ビューに $data パラメータを送信していますか?

于 2016-05-30T18:41:20.420 に答える
0

何よりもまず、Bogdan Bocioaca が彼の回答で述べたように、Response::jsonJson のみを返したい場合にのみ関数を使用します (ほとんどの場合、他のアプリが json データにアクセスできるようにするための API 用)。たとえば、以下のコードは、モバイル アプリによって読み取られる可能性のある JSON を返します。

$worklogs = WorkLog::all();
return Response::json([
    'worklogs' => $worklogs
], $headers);

あなたの質問を理解すると、データをビューに直接渡したいので、コードは理想的には次のようになります。

$worklogs = WorkLog::all();
return view('index',compact('worklogs'));

(上記では、compact()代わりにwith->()クリーナーを使用することを選択したことに注意してください)

次に、必要に応じてコードを反復処理できます。

@foreach($worklogs as $worklog)
  <td>{{$worklog->id}}</td>
  <td>{{$worklog->name}}</td>
  <td>{{$worklog->company}}</td>
@endforeach
于 2016-05-31T02:57:46.213 に答える