Как получить доступ к значению столбца в моделях в Laravel? - PullRequest
0 голосов
/ 27 марта 2020

Я хочу получить доступ к значению столбца "type" в функции ниже модели, но значение "$ this" равно нулю.

 <?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;

class DealerOrderItem extends Model
{
    protected $guarded = [];
    use SoftDeletes;


    public function Item()
    {
        if ($this->type == 'PackToPack')
            return $this->hasOne('App\Models\PackToPack', 'id', 'item_id');
        elseif ($this->type == 'QcItem')
            return $this->hasOne('App\Models\QcItem', 'id', 'item_id');

    }
}

Ответы [ 2 ]

1 голос
/ 27 марта 2020

может быть, вы можете определить два разных отношения 1.PackToPack

2.QcItem и проверить условие при вызове функции отношения

ИЛИ>

, которую вы можете установить геттер как тип, и вы можете получить к нему доступ с помощью $ this-> item

Я скептически отношусь ко второму способу, который может не сработать, дайте мне знать, если это так

0 голосов
/ 27 марта 2020

При условии, что отношение будет определено правильно, вам потребуется:

$dealerOrderItem->item->name

$dealerOrderItem, являющийся экземпляром этой модели, который был ранее загружен, и 'name', являющийся именем столбец, который вы хотите просмотреть.

Если у вас есть указанный c код, который не работает после этой попытки, пожалуйста, поделитесь этим кодом, а также моделью и структурой БД для таблицы элементов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...