質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Q&A

解決済

1回答

2348閲覧

json型でDBに格納している値をviewに表示したい

sakuta777

総合スコア10

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

0グッド

0クリップ

投稿2019/12/20 05:34

現在、DB(mysql)にjson型のユーザーidがgroup_belongカラムに["1","2","3"]
のように格納されており、これをグループ一覧画面で表示したいと思っています。

表示方法は1,2,3のように表示したいです。

json型の表示方法を調べてみたのですが、情報がなく困っています。
書き方のアドバイスをいただけないでしょうか?

該当コードを下記に表示しています。

グループ一覧画面(index.blade.php)

<title>グループ一覧表示</title> <style> p { text-align: center; } .talk_url { text-align: center; margin-bottom: 20px; } </style> @extends('layouts.app') @section('content') <h1>グループ一覧</h1> <p>あなたの所属するグループが表示されます。</p> @foreach($groups as $group) <div class="talk_url"><a href="{{ route('group.talk', ['id' => $group->id]) }}">{{$group->name}}</a></div> {{$group->group_belong}} @endforeach @endsection

グループモデル(Group.php)

namespace App; use Illuminate\Database\Eloquent\Model; class Group extends Model { protected $table = 'groups'; protected $filltable = ['name', 'content', 'group_belong']; //json記述 protected $casts = ['group_belong' => 'json']; }

グループコントローラー(GroupController.php)

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Group; use App\User; class GroupController extends Controller { public function index() { $groups = Group::orderBy('created_at', 'desc')->paginate(20); return view('group.index', ['groups' => $groups]); } public function create() { $users = User::orderBy('created_at', 'desc')->paginate(9); return view('group.create', ['users' => $users]); } public function store(Request $request) { $groups = new Group; $groups->name = $request->name; $groups->content = $request->content; $groups->group_belong = $request->input('group_belong'); $groups->save(); return redirect('/groups'); } public function talk() { return view('group.talk'); } public function content(Request $request) { $posts = new Group; $posts->content = $request->content; $posts->save(); return redirect('group/{id}/talk'); } public function invite() { return view('group.invite'); } public function cancel() { return view('group.cancel'); } }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

PHP上にはJson型はありません。DB上から取得した時点で、Arrayになると思うので
普通の配列のようにimplodeとかで処理してください

投稿2019/12/20 05:57

mikkame

総合スコア5036

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問