2017-02-21 14 views
3

я сделал функцию в классе модели, котораяспособ применения функция модели из вид? - Laravel 5,4

public function scopetest($query) 
    { 
return $query->pluck('name'); 
    } 
    } 

и мой код контроллера

public function index() 
    { 
    $books = Book::all(); 

    return view('welcome',compact('books')); 

     } 

, чтобы получить тест() функция результата я написал мой файл представления

@foreach($books as $book) 

{{$book->test()}} 

@endforeach 

, но проблема в том, что когда я нахожу эту страницу, он будет показывать значение поля «имя» 3 раза. почему он показывает 3 раза? как вызвать функцию модели из представления? & Каков правильный процесс? любезно помогите пожалуйста view result

+0

Это показывает 3 раза может быть, потому что вы зацикливаетесь? –

+0

цикл? но где? – Masum

+0

Вы хотите вызвать функцию scopetest с точки зрения лезвия? – sunilwananje

ответ

5

Существует множество способов вызова функции модели в представлении.

Метод 1:

Pass Некоторые Modal для просмотра в вашем контроллере, как:

$model = Model::find(1); 
View::make('view')->withModel($model); 

В модальный создать некоторую функцию:

public function someFunction() { 
    // do something 
    } 

В связи вы можете вызывать эту функцию as:

{{$model->someFunction()}} 

Метод 2 или другой способ:

Вы можете сделать статическую функцию в модели, как:

public static function someStaticFunction($par1, $par2) { 
    // do what you need 
} 

А на ваш взгляд, вы можете моделировать функцию непосредственно как:

{{App\Model::someStaticFunction($par1,$par2)}} 
+0

tnx Sagar, он работает – Masum

+0

@Masum приветствуется, и если решение работает для вас, вы можете проголосовать, чтобы помочь другим. –

+0

Я хочу проголосовать за вас. но я не знаю, где вариант голосования? – Masum

0

Объем должен быть scopeTest() (camelCase).

+0

Изменил его в scopeTest(), но не работал – Masum

+0

. Моя цель создает некоторый запрос в функции модели и извлекает его из файла лезвия. так что это правильный процесс? как вам это сделать? – Masum

Смежные вопросы