Laravel множественная функция в представлении - PullRequest
0 голосов
/ 05 октября 2018

мне нужна помощь, я новичок в laravel, я хочу сделать запрос, чтобы получить год только из таблицы, подобной этой

public function index() {
    $items = Items::distinct()->orderBy('date','desc')->select(DB::raw('YEAR(`date`) as date'))->get();
    $itemDet = Items::where('date', $items->date);
}

, затем я хочу показать другое значение из таблицы на основе года выше сэта функция

public function itemDetail($year) {
    $itemDet = Items::where('YEAR(`date`)', $year);

    return $itemDet;
}

Но я не знаю, как вызвать ее в представлении, я знаю только, как вызвать первую функцию в представлении, и я не знаю, как передать значение year из первогофункция в качестве параметров для второй функции.

2018
- item2018
- item2018
- item2018
2017
- item2017
2016
-item2016
-item2016

извините за мою плохую грамматику, спасибо!

Ответы [ 2 ]

0 голосов
/ 05 октября 2018

Вы можете получить этот вывод сразу же в своей индексной функции, не передавая его второй функции, одним из способов сделать это.

public function index() {

    $arr_container = []; //create array container

    $items = Items::distinct()->orderBy('date','desc')->select(DB::raw('YEAR(`date`) as date'))->get();
    foreach($items as $val){
       $itemDet = Items::select(DB::raw('item'))->where('YEAR(`date`)', $val->year)->get();
       if($itemDet->count()>0){
        $arr_container[$val->year][] = $itemDet[0]->item;
       }
    }

    return view('view')->with('years',$arr_container);
}

Вы должны получить этот вывод при вызове {{$ years}}.

2018
- item2018
- item2018
- item2018
2017
- item2017
2016
-item2016
-item2016
0 голосов
/ 05 октября 2018
public function itemDetail($year) {
    $itemDet = Items::where('YEAR(`date`)', $year);

    //return $itemDet; change it to 
    return view('yourViewPath',compact('itemDet'));
}

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

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