امین
2 سال پیش توسط امین مطرح شد
2 پاسخ

خطا array to string

سلام من میخوام یه سری اطلاعات رو از دیتابیس بخونم این خطا رو میده
بعد از این که خط آخر route و لینک تگ a تو صفحه blade رو دادم این خطا ایجاد شد
route

use App\Http\Controllers\indexController;
use App\Http\Controllers\PostController;
use App\Http\Controllers\orderController;
use App\Http\Controllers\categoryController;

Route::get('/',[indexController::class,'index']);
Route::get('/welcome',[indexController::class,'welcome']);
Route::get('/posts',[PostController::class,'index']);
Route::get('/orders',[orderController::class,'index']);
Route::get('/categories',[categoryController::class,'index'])->name('categories');
Route::get('/categories/{category}'.[categoryController::class,'show'])->name('show');

controller

<?php

namespace App\Http\Controllers;

use App\Models\category;
use App\Http\Requests\StorecategoryRequest;
use App\Http\Requests\UpdatecategoryRequest;
use Illuminate\support\facades\DB;
class CategoryController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        $categories = category::query()->get();
        //$categorys = category::all()
        //$categories = DB::table('categories')->orderBy('id','DESC')->get();
        return view('category',compact('categories'));
    }

blade: فک میکنم خط 26 blade باشه به خطا

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <!-- CSS only -->
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0-beta1/dist/css/bootstrap.min.css" rel="stylesheet"
          integrity="sha384-0evHe/X+R7YkIZDRvuzKMRqM+OrBnVFBL6DOitfPri4tjfHxaWutUpFmBp4vmVor" crossorigin="anonymous">
</head>
<body>
<a href="{{route('categories')}}" class="btn">دسته بندی ها</a>
<table class="table" dir="rtl">
    <tr>
        <td>شناسه</td>
        <td>عنوان</td>
        <td>توضیح</td>
        <td>ویرایش</td>
        <td>حذف</td>
    </tr>
    @foreach($categories as $category)
    <tr>
        <td>{{$category->id}}</td>
        <td> <a href="{{route('show',$category->id)}}"> {{$category->title}} </a> </td>
        <td>{{$category->description}}</td>
        <td>ویرایش</td>
        <td>حذف</td>
    </tr>
    @endforeach
</table>

</body>
</html>

</body></html>


ثبت پرسش جدید
رضا جهانگیر
تخصص : Full-Stack Developer
@rezajahangir 2 سال پیش مطرح شد
1

سلام به شما دوست عزیز.
چندتا نکته رو لازم میدونم که بهتون بگم تا در آینده بهتر بتونین کدتون رو دیباگ کنین:
۱- کدتون ظاهرا تنها مشکلی که داره مربوط به روت ها میشه که در ادامه بهش اشاره میکنم.
۲- خود شما دارین میگین وقتی این دو تا رو اضافه کردم این مشکل به وجود اومد پس بررسی کنین ببینین دقیقا مشکل از کجاس.
۳- شما قوانین و چارچوب کدزنی رو رعایت نمیکین، به عنوان مثال اسم اول کنترلرها باید با حرف بزرگ شروع بشه، چیزی که شما نوشتین هست

indexController
orderController
categoryController

که غلطه و درستش میشه

IndexController
OrderController
CategoryController

وقتی آموزش میبینین یا داکیومنت میخونین با دقت این کارو انجام بدین تا بتونین کد خوانا تری بنویسین تا هم در آینده برای خودتون قابل فهم باشه و هم کسی که بعد میخواد کد شما رو بخونه و زمانی که مسئله ای رو میخواین بپرسین خواننده راحت تر بتونه بهتون کمک کنه، در واقع این مواردی که بهتون گفتم از خود برنامه نویسی خیلی مهم تر هست.
داخل فایل web.php، خط ۱۱ رو به صورت زیر بنویسید:

Route::get('/categories/{category}', [categoryController::class, 'show'])->name('show');

موفق باشید.


امین
@alavi.gavad 2 سال پیش مطرح شد
0

بله درست شد...ممنون از راهنمایی تون من تقریبا یه هفته میشه لاراول رو شروع کردم و هنوز خیلی راه هست مثل شما قلق کار دستم بیاد تا از این باگ های دم دستی کمتر داشته باشم...بازم ممنون


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام