Передача данных через контроллер через представление возврата в Laravel 11

В настоящее время я пытаюсь изучить Eloquent ORM, но сначала пытаюсь передать некоторые статические данные в свой контроллер.

Вот фрагмент моего контроллера

SCControler.php

<?php

namespace App\Http\Controllers;

use App\Models\SCModel;
use Illuminate\Http\Request;

class SCControler extends Controller
{
    //
    public function displaySC(Request $request)
    {
        $secques = SCModel::all();
        return view('auth.user_settings', [
            'myname' => 'alexis',
        ]);
    }
}

в приведенном выше коде, как вы можете видеть, я сейчас пытаюсь получить данные через свою модель SCModel:all();, однако на странице user_settings написано, что не определено, хотя в таблице теперь есть данные. Итак, я попробовал отладить его, если он может передавать статические данные, как вы можете видеть в представлении возврата.

К сожалению, он по-прежнему показывает ошибку, но теперь говорит: Call to undefined method ::displaySC()

Вот моя SModel, я убедился, что строки $table и $fillable внутри массива совпадают в таблице.

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class SCModel extends Model
{
    use HasFactory;

    protected $table = "sc_tbl";
    public $timestamps = false;
    /**
     * The attributes that are mass assignable.
     *
     * @var array<int, string>
     */
    protected $fillable = [
        'sc_id',
        'sc_desc',
    ];
}

Я также буду публиковать свои маршруты в своем web.php файле. Поэтому всякий раз, когда я пытаюсь перенаправить прямо на user_settings, я могу получить к нему доступ, поэтому думаю, что этот маршрут работает.

Route::get('/user_settings', [SCModel::class, 'displaySC'])->name('auth.user_settings');

Я был бы очень признателен за любую помощь, которую вы могли бы оказать, чтобы исправить мои ошибки.

просто чтобы дать контекст, это просто для изучения, поэтому, если вы думаете, что база данных или данные связаны с ней, можно удалить/переместить ее в мою базу данных.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
0
119
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы используете неправильный класс в своем маршруте. Вы пытаетесь вызвать displaySC на своей модели, хотя вместо этого вам следует вызывать его на своем контроллере.

Так что измени это

Route::get('/user_settings', [SCModel::class, 'displaySC'])->name('auth.user_settings');

К этому

Route::get('/user_settings', [SCControler::class, 'displaySC'])->name('auth.user_settings');

Вам, вероятно, также придется изменить использование в верхней части файла маршрутов.

Другие вопросы по теме