Laravel - возвращает управляемое значение из коллекции. - PullRequest
0 голосов
/ 29 марта 2019

Я бы хотел манипулировать значением из коллекции!Я получаю Stylenumber как 12345-D-002.Я должен разобрать это на «-», чтобы получить первую часть номера стилена.

Collection-Code from Model Order:

public static function getPicklistToday($date)
    {
        $sql = "
            SELECT
                oxid_orderarticles.OXARTNUM as style,
                sum(oxid_orderarticles.OXAMOUNT) as ANZAHL,
                oxid_orderarticles.OXSELVARIANT,
                oxid_import.imported
            FROM oxid_orderarticles
            LEFT JOIN oxid_import
                ON oxid_import.oxid = oxid_orderarticles.OXORDERID
                WHERE DATE(oxid_import.imported) = :date
            GROUP BY oxid_orderarticles.OXARTNUM
            ORDER BY oxid_orderarticles.OXARTNUM ASC
        ";
        $pick = DB::select($sql,[':date'=>$date]);

        return $pick;
    }

Это метод, который должен взорвать возвращенный'style' из запроса, также в Order Model:

    public function getParentStyle()
    {

        $parent = explode("-",$this->style);

        return $parent[0];
    }

Метод в OrderController:

    //------------------------
    public function today()
    {
        $today = Order::getPicklistToday(Carbon::now()->format('Y-m-d'));

        return view('order.today',compact('today'));

    }

Часть представления today.blade.php:

    @foreach($today as $pos)
    <tr>
      <td><i class="far fa-square"></i></td>
      <td><b>{{$pos->AMOUNT}}x</b></td>
      <td>{{$pos->getParentStyle()}}</td>
      <td>{{$pos->style}}</td>
      <td>{{$pos->OXSELVARIANT}}</td>
    </tr>
    @endforeach

Я получаю следующее сообщение об ошибке:
Вызов неопределенного метода stdClass :: getParentStyle () (Просмотр: /var/www/html/app/resources/views/order/today.blade.php)

Как должен выглядеть метод getParentStyle () для запуска моего кода?

1 Ответ

0 голосов
/ 29 марта 2019

Я предлагаю использовать аксессор здесь. Добавьте это к вашей Order модели:

/**
 * Get the parent style of the order.
 *
 * @return string
 */
public function getParentStyleAttribute()
{
    $parent = explode("-", $this->style);

    return $parent[0];
}

Теперь вы можете получить доступ к значению, как это:

<td>{{ $pos->parentStyle }}</td>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...