Laravel - передача данных в компонент на основе классов без @props

У меня есть этот компонент:

class CategorySelect extends Component
{

    public $id_name, $selected;

    public function __construct($selected=-1, $id_name = "default_id")
    {
        $this->id_name = $id_name;
        $this->selected = $selected;
    }

    public function render()
    {
        return view('components.category-select', ['categories' => Category::all()]);
    }
}


<select name = "{{ $id_name }}" id = "{{ $id_name }}">
    @foreach ($categories as $c)
        @php
            $s = $c->id == $selected ? 'selected=selected' : '';
        @endphp
        <option {{ $s }} value = "{{ $c->id }}">{{ $c->title }}</option>
    @endforeach
</select>

Я использую это так:

<x-category-select selected = "old('category_id', $article->category_id)" 
                   id_name = "category_id"></x-category-select>

$selected передается и работает, но $id_name остается в своем значении по умолчанию из конструктора. изменение на :id_name = "category_id" не удается с Undefined constant "category_id"

Как правильно это сделать без @props() (по этой причине, среди прочего, я использую компоненты на основе классов, а не анонимные компоненты ..)?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
55
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Если кто-то наткнется на это в будущем - проблема была в соглашении об именах. когда имена переменных изменились на camelCase - заработало.

$id_name сменилось на $idName и заработало

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