0
私はタグシステムを構築しようとしています。 私のデータベースには、テーブルtopics
とカラムtags
があります。タグはJSONオブジェクトです。質問の価値のためのjsonのLaravelの検索
マイルート:
Route::get('t/{tag}', '[email protected]')->name('tag');
public function tag($tag)
{
return view('tags.tag', ['tag' => $tag, 'topics' => DB::table('topics')->get()]);
}
そして:
@foreach ($topics as $topic)
@if (in_array($tag, json_decode($topic->tags, true)))
<tr>
<td class="col-md-6 col-sm-6">
<a href="#" title="">
<strong>{{ $topic->topic_name }}</strong>
</a>
</td>
<td class="col-md-1 col-sm-1 text-right">
@foreach (json_decode($topic->tags) as $tag)
<span class="badge badge-primary">{{ $tag }}</span>
@endforeach
</td>
</tr>
@endif
@endforeach
私は、これは完璧なソリューションではありません知っていると私は、クエリであればそれを使用する必要があります。これどうやってするの?前もって感謝します。 P.S私は知っている ' - > where(' topics-> tags '、' .. ')
しかし私のMySQLは5.7より古いので、これらの新しい機能を使用することはできません。助言がありますか?
を参照してくださいDB
から取り出すときには、配列にJSONに変換されます、あなたのモデルに
をキャストを使用してください? – ggdx
..または最善の方法は、mysqlを更新することです? – DisplayName