آفلاین
user-avatar

Undefined variable

3 سال پیش
توسط محمد مهدی کارگر آپدیت شد
آفلاین
user-avatar
faezeh ( 2552 تجربه )
3 سال پیش

سلام دوستان من یه پروژه دفترچه تلفن با لاراول نوشتم ولی نمیدونم چرا این اررور رو میده با اینکه کدامو حس میکنم درست نوشتم
controller:
public function destroy($id)
{
$cont = Contacts::find($id)->delete();
return view('contact.view')->with('cont',$cont);
}
route:
route::delete('/contacts/{$id}', 'ContactsController@destroy')->name('contacts.destroy');
view:
<th scope="col">Name</th>

ممنون میشم اگه کسی میدونه به سوالم جواب بده

آفلاین
user-avatar
حسام موسوی ( 413236 تجربه )
3 سال پیش
تخصص : طراح و برنامه نویس

با سلام متن ارورتون رو قرار بدید
و لطفا این مورد رو در هنگام قرار دادن کد رعایت کنید

لطفا کد های خودتون رو بین سه backtike باز و بسته قرار بدهید تا بهتر نمایش داده شود

آفلاین
user-avatar
faezeh ( 2552 تجربه )
3 سال پیش

'''"Undefined variable: cont (View: /home/faezeh/Desktop/phonebook/resources/views/contact/view.blade.php)"'''
@hesammousavi

آفلاین
user-avatar
محمد مهدی کارگر ( 26052 تجربه )
3 سال پیش
تخصص : طراح و برنامه نویس

سلام
در این قسمت:

public function destroy($id)
{
$cont = Contacts::find($id)->delete();
return view('contact.view')->with('cont',$cont);
}

مخاطب رو حذف کردید و بعدش ریختید داخل متغیر $cont ، فکر می کنم به این خاطره زمانی که می خواید نمایشش بدید متغیر $cont رو نمیشناسه چون اصلا مقداری نگرفته.
اگر هم می خواید بعد از حذف اطلاعات مخاطب رو نمایش بدید اول $cont رو مقدار دهی کنید بعد از پایگاه داده حذفش کنید.

public function destroy($id)
{
$cont = Contacts::find($id);
Contacts::find($id)->delete();
return view('contact.view')->with('cont',$cont);
}
آفلاین
user-avatar
faezeh ( 2552 تجربه )
3 سال پیش

انجام دادم نشد کلا به ویوم ایراد میگیره و وقتی صفحه رو رفرش میکنم اررور میده میشه کد ویوم رو ببینید کجاشو اشتباه نوشتم؟
'''<table class="table table-responsive-lg table-hover table-borderLess table-striped">
<thead>
<tr class="table-secondary">
<th scope="col">Name</th>
<th scope="col">Email</th>
<th scope="col">Mobile</th>
<th scope="col">Phone</th>
<th scope="col">Address</th>
<th scope="col"></th>
<th scope="col"></th>
</tr>
</thead>
<tbody>
<?php if (isset($contact)){?>
<?php foreach ($contact as $con) {?>
<tr id="table" class="tab">
<td><?php echo $con['name']; ?></td>
<td><?php echo $con['email']; ?></td>
<td><?php echo $con['mobileNumber']; ?></td>
<td><?php echo $con['phoneNumber']; ?></td>
<td><?php echo $con['address']; ?></td>
<td></td>
<td>
<form action="/contacts/{{$cont->id}}" class="float-right">
{{ csrf_field() }}
{{ method_field('DELETE') }}
<img src="/image/delete (1).png" onclick="remove(<?php ?>)">
</form>
<form method="patch" action="ContactsController/@update" class="float-right">
{{--<a href="/add/{{$update->id}}" class="float-right">--}}
<img style="padding: 3px 5px" src="/image/eddit.png" >
{{--</a>--}}
</form>
</td>
</tr>
<?php } ?>
<?php } ?>
</tbody>
</table>
@unlocker

آفلاین
user-avatar
محمد مهدی کارگر ( 26052 تجربه )
3 سال پیش
تخصص : طراح و برنامه نویس

اگر ارورتون اینه:

'''"Undefined variable: cont (View: /home/faezeh/Desktop/phonebook/resources/views/contact/view.blade.php)"'''

تنها مربوط میشه به متغیر cont$ که از کنترلر دارید می فرستید ، مقدار متغیر رو چک کنید.
برای اینکه مطمئن بشید از مقدار متغیرتون می تونید قبل از این که ویو رو return کنید مقدار متغیرتون رو داخل همون کنترلر return کنید و چک کنید.

public function destroy($id)
{
$cont = Contacts::find($id)->delete();
return $cont;
//return view('contact.view')->with('cont',$cont);
}
برای ارسال پاسخ باید وارد سایت شوید