Красноречивое возвращение нулевого значения в laravel 5.6

Я придерживаюсь простой логики. У меня есть 2 таблицы, attribute_type и attribute_sub_type. В модели AttributeSubType я создал эту функцию.

 public function attribute_types()
{
    return $this->belongsTo('App\Models\AttributeType');
}

И в модели AttributeType я создал эту функцию.

public function attribute_sub_type()
{
    return $this->hasMany('App\Models\AttributeSubType');
}

Мое мнение:

@foreach($attributeSubTypes as $attributeSubType)
    <tr>
        <td>{!! $attributeSubType->attribute_types['attribute_type'] !!</td> //this line returning null by dd($attributeSubType->attribute_types['attribute_type'])
    </tr>
@endforeach

Где 'attribute_type' - столбец в таблице attribute_type. Я использовал ту же логику в другом проекте. И это работает как шарм.

Вы указали название таблицы под моделями. Поскольку имена должны быть во множественном числе. И даже вы можете указать внешний ключ в связанных методах моделей

Sachin Kumar 19.09.2018 05:46

Вы можете привести пример?

Haider Akbar 19.09.2018 06:03

Например, замените return $ this-> ownTo ('App \ Models \ AttributeType'); с возвратом $ this-> ownTo ('App \ Models \ AttributeType', 'foreign_key', 'local_key); и сделайте то же самое в функции attribute_sub_type.

Sachin Kumar 19.09.2018 09:46
Стоит ли изучать 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
3
208
1

Ответы 1

Я решил проблему, создав этот метод в модели AttributeSubType.

public function getAttributeType($id)
{
    $attribute = AttributeType::find($id);

    return $attribute->attribute_type;
}

И так я называю это во View.

@foreach($attributeSubTypes as $attributeSubType)
    <tr>
        <td>{!! $attributeSubType->getAttributeType($attributeSubType->attribute_type_id) !!}</td>
</tr>
@endforeach

вы можете решить эту проблему лучше с помощью отношения, сначала убедитесь, что у вас есть attribute_type_id в качестве внешнего ключа в вашей модели attributesubtype, ваше предыдущее решение правильное, но черт возьми, эти критерии

atf.sgf 19.09.2018 10:28

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