That view.. Is that the 'pages.members.edit ?
Sep 14, 2022
7
Level 1
Undefined variable $member
I am getting an error message when showing a table from the database. i changed the variable from $members to $member Looks like an error with the routing?
Error: Undefined variable $member
Controller
<?php
namespace App\Http\Controllers;
use App\Models\Member; use Illuminate\Http\Request;
class MemberController extends Controller { /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { $data = Member::latest()->paginate(5);
return view('pages.members.index', compact('data'))->with('i', (request()->input('page', 1) - 1) * 5);
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
return view('pages.members.create');
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$request->validate([
'name' => 'required',
'email' => 'required|email|unique:members',
'image' => 'required|image|mimes:jpg,png,jpeg,gif,svg|max:2048|dimensions:min_width=100,min_height=100,max_width=1000,max_height=1000'
]);
$file_name = time() . '.' . request()->image->getClientOriginalExtension();
request()->image->move(public_path('images'), $file_name);
$member = new Member;
$member->name = $request->name;
$member->callsign = $request->callsign;
$member->firstname = $request->firstname;
$member->lastname = $request->lastname;
$member->preposition = $request->preposition;
$member->email = $request->email;
$member->phonenumber = $request->phonenumber;
$member->image = $file_name;
$member->bankaccount = $request->bankaccount;
$member->birthday = $request->birthday;
$member->save();
return redirect()->route('pages.members.index')->with('success', 'Member Added successfully.');
}
/**
* Display the specified resource.
*
* @param \App\Models\Member $member
* @return \Illuminate\Http\Response
*/
public function show(Member $member)
{
return view('pages.members.show', compact('member'));
}
/**
* Show the form for editing the specified resource.
*
* @param \App\Models\Member $member
* @return \Illuminate\Http\Response
*/
public function edit(Member $member)
{
return view('pages.members.edit', compact('member'));
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\Models\Member $member
* @return \Illuminate\Http\Response
*/
public function update(Request $request, Member $member)
{
$request->validate([
'name' => 'required',
'email' => 'required|email',
'image' => 'image|mimes:jpg,png,jpeg,gif,svg|max:2048|dimensions:min_width=100,min_height=100,max_width=1000,max_height=1000'
]);
$image = $request->hidden_image;
if($request->image != '')
{
$image = time() . '.' . request()->image->getClientOriginalExtension();
request()->image->move(public_path('images'), $image);
}
$member = Member::find($request->hidden_id);
$member->name = $request->name;
$member->callsign = $request->callsign;
$member->firstname = $request->firstname;
$member->lastname = $request->lastname;
$member->preposition = $request->preposition;
$member->email = $request->email;
$member->phonenumber = $request->phonenumber;
$member->image = $request->image;
$member->bankaccount = $request->bankaccount;
$member->birthday = $request->birthday;
$member->image = $image;
$member->save();
return redirect()->route('pages.members.index')->with('success', 'Member Data has been updated successfully');
}
/**
* Remove the specified resource from storage.
*
* @param \App\Models\Member $member
* @return \Illuminate\Http\Response
*/
public function destroy(Member $member)
{
$member->delete();
return redirect()->route('pages.members.index')->with('success', 'Member Data deleted successfully');
}
}
Blade where the member variable is used and i changed it to $member instead of $members:
<div class="card">
<div class="card-header">
<div class="row">
<div class="col col-md-6"><b>Member Details</b></div>
<div class="col col-md-6">
{{-- <a href="{{ route('pages.members.index') }}" class="btn btn-primary btn-sm float-end">View All</a>--}}
</div>
</div>
</div>
<div class="card-body">
<div class="row mb-3">
<label class="col-sm-2 col-label-form"><b>Member Name</b></label>
<div class="col-sm-10">
{{ $member->name }}
</div>
</div>
<div class="row mb-3">
<label class="col-sm-2 col-label-form"><b>Member Email</b></label>
<div class="col-sm-10">
{{ $member->email }}
</div>
</div>
<div class="row mb-4">
<label class="col-sm-2 col-label-form"><b>Image</b></label>
<div class="col-sm-10">
<img src="{{ asset('images/' . $member->image) }}" width="200" class="img-thumbnail"/>
</div>
</div>
</div>
</div>
Level 73
You pass it as $data and not as $member
return view('pages.members.index', compact('data'))->with('i', (request()->input('page', 1) - 1) * 5);
2 likes
Please or to participate in this conversation.