我正在研究laravel 5.2。我希望在我想要的页面上显示由当前登录用户创建的所有组以及其他用户已添加当前用户的组。我能够显示用户自己创建的那些组,但是,我不知道放置一个过滤器,用户可以帮助显示添加了用户的所有组以及那些组的组。由用户自己创建。这是我想要显示所有组的mY视图。
我的控制器:
public function allgroups(){
$groups=Grouptable1::all();
return view('mygroups', ['groups'=>$groups]);
}
public function creategroup(){
return view('creategroup');
}
public function newgroup(Request $request){
$this->validate($request, [
'groupname'=>'required|min:5',
]);
$groupname=new Grouptable1();
$groupname->name=$request['groupname'];
$message='there was an error';
if($request->user()->groups()->save($groupname)){
$message='group created successfully!';
}
$groupname->save();
return redirect()->route('allgroups');
}
public function deletegroup($id){
$currentGroup=Grouptable1::findorFail($id);
$currentGroup->delete();
return redirect()->back();
}
public function groupEditGroup(Request $request){
$this->validate($request,[
'groupname' => 'required|min:5'
]);
$group=Grouptable1::find($request['groupId']);
$group->name=$request['groupname'];
$group->update();
return response()->json(['new_name' => $group->name],200);
}
public function members($id){
$dashes=Grouptable1::findorFail($id);
$members=Groupmembers1::all();
return view('members' , ['dashes'=>$dashes,'members'=>$members]);
}
public function dashboard($id){
$dashes=Grouptable1::findorFail($id);
return view('dashboard' , ['dashes'=>$dashes]);
}
public function addmembers(Request $request){
$member=new Groupmembers1();
$member->members=$request['addmember'];
$request->groups()->groupmembers()->save($member);
return redirect()->back();
}
我的路线:
Route::get('/groups', [
'uses'=>'GroupController@allgroups',
'as'=>'allgroups'
]);
Route::get('/groups/create/', [
'uses'=>'GroupController@creategroup',
'as'=>'creategroup'
]);
Route::post('/groups/create/', [
'uses'=>'GroupController@newgroup',
'as'=>'newgroup'
]);
Route::get('/groups/{id}', [
'uses'=>'GroupController@deletegroup',
'as'=>'deletegroup'
]);
Route::post('/edit',[
'uses'=>'GroupController@groupEditGroup',
'as'=>'edit'
]);
Route::get('/members/{id}',[
'uses'=>'GroupController@members',
'as'=>'members'
]);
Route::get('/dashboard/{id}',[
'uses'=>'GroupController@dashboard',
'as'=>'dashboard'
]);
Route::post('/memeber/add',[
'uses'=>'GroupController@addmembers',
'as'=>'addmember'
]);
我的观点:
@foreach($groups as $group)
@if(Auth::user()==$group->user)
<div id="zx" class="panel-content">
<div class="row">
<section class="col-md-offset-1 col-md-9 special"
data-groupid="{{ $group->id }}">
<a id="hash" href="{{ URL('/dashboard/'.$group->id ) }}"
style="font-size:20px;text-decoration:none;">{{$group->name}}</a>
<button type="button" style="margin-top:5px;"
class="btn btn-warning dropdown-toggle" data-toggle="dropdown">
<span id="removesign" class="glyphicon glyphicon-chevron-down">
</span></button>
<ul class="dropdown-menu" role="menu">
<li role="presentation"><a id="edit" style="font-weight:bold;
color:black;"
role="menuitem" tabindex="-1">Edit Group Name</a></li>
<li role="presentation"><a style="font-weight:bold; color:black;"
role="menuitem" tabindex="-1" href="{{ URL('/groups/'.$group->id)
}}">Leave This Group</a></li>
</ul>
<section class="col-md-1 ">
<img style="width:40px;height:40px; margin-top:5px;
background-color:silver;" class="img-circle" src="images/g.jpg"/>
</section>
</div>
</div>
@endif
@endforeach
我的观点2用户在组中添加成员的位置:
<button class="btn btn-success" onclick="myFunction()">
Add Members+</button>
<div>
<form id="demo" style="display:none;" method="post" action="{{
route('addmember') }}">
<input class="form-control" type="text" name="addmember">
<button class="btn btn-primary" type="submit">Add</button>
<input type="hidden" name="_token" value="{{ Session::token() }}">
</form>
</div>
</div>
<div class="col-lg-7 col-lg-offset-0">
<div class="panel panel-default">
<div id="grp" class="panel-heading">
<h3 id="grouptitle" class="panel-title">Group Members</h3>
</div>
<div id="zx" class="panel-content">
<div class="row">
@foreach($members as $member)
<section class="col-md-6">
<div class="row">
<section class="col-md-12">
<h5 id="friendname">{{$member->members}}</h5>
</section>
</div>
</section>
</div>
<div class="row">
<section class="col-md-offset-1 col-md-10">
<hr>
</section>
</section>
@endforeach
我的模特:
User.php:
public function groups(){
return $this->hasMany('App\Grouptable1');
}
Grouptable1.php:
public function groupmembers(){
return $this->hasMany('App\Groupmembers1');
}
public function user(){
return $this->belongsTo('App\User');
}