*前提、実現したいこと
現在、オリジナルアプリの制作をしています。
内容は趣味に関するコミュニティがたくさんあり、ユーザーは好きなコミュニティに参加できるというものです。
実現したいことは、コミュニティのトップページにすでに参加しているユーザーには参加中と表示させたいことです。
テーブル設計
userテーブル
communityテーブル
community_userテーブル
community_userテーブルにはuser,communityのidが格納されています。
*つまづいているところ
if文を使い、ログインしているユーザーがそのコミュニティに参加している場合は『参加中』、参加していない場合は『参加する』ボタンを表示させたいのですが
php
1@if($community->id == Auth::user()->id) 2 <div class="button"> 3 <a href="#" role=button class="btn btn-primary">参加中</a> 4 </div> 5@else 6 <div class="button"> 7 <a href="{{ action('Admin\AppController@join', ['id' => $community->id]) }}" role=button class="btn btn-primary">参加する</a> 8 </div> 9@endif
上記のコードでは全てのユーザーが参加するになってしまいました。
*試してみたこと
含むという表現についてpreg_matchがあるのを知り、
php
1@if(preg_match('/Auth::user()->id/',$community->user_id))
if文を上記のように変えても変化はありませんでした。
*環境
言語 php
フレームワーク laravel
DB mysql
*補足
mysqlでcommunity_userテーブルを確認したところ、community_id,user_idは保存されていたので、idの保存に関しては問題はないと思われます。
communityModel,community_userテーブルにcommunity_id,usdr_idを保存するコードは以下になります。
よろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー