2015-08-03 3 views
1

я следующий метод в мой контроллер:как запустить метод в модели вместо контроллера в laravel 5.1?

public function store() 
{ 
    $data=Input::all(); 
    User::create($data); 
} 

Приведенный выше код работает отлично. Мой вопрос в том, можем ли мы запустить вышеупомянутый метод в модели без записи в контроллер? И какой из них лучше всего подходит?

ответ

3

вы можете попробовать следующий способ

в модели

public function insetUser() 
{ 
     $input = Input::all(); 
     User::create($input); 
    //here instead of User,you can use self like self::create($input); 
} 

в контроллере можно

public function store() 
{ 
    User::insetUser(); 
} 
+0

. Благодарю вас за ответ. это лучший способ? – vision

+0

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

2

Если в модели, как вы собираетесь запустить его?

Это на самом деле только одна строка кода

User::create(Input::all());

Что здесь является экземпляром модели User и метод create с закачиваемой модели Input. Каус вы можете установить (модель) User.php:

public function storedata() 
{ 
return $this->create(Input::all()); 
} 

А затем запустить его в контроллере:

User::storedata(); 

Но это лучше? ;-)

+0

Спасибо за ответ. Лучший способ? – vision

+0

Помимо проверки - я не знаю, как это будет работать при использовании 'User :: storedata();' - Я думаю, что «длинный» путь более ясен, но это только мое мнение. – violator667

+0

.thank you.i задал этот вопрос, потому что обычно модель относится к связанной с базой данных и контроллеру, как к модели подключения и view.so, чтобы уточнить, я задал этот вопрос – vision

1

В этом случае я не думаю, что вы многого выиграете от перемещения вещей вокруг.

Если это ваш метод управления:

public function store() 
{ 
    $data=Input::all(); 
    User::create($data); 
} 

тогда это имеет смысл. Входные данные обрабатываются методом контроллера и передаются в метод create в вашей модели User.

Если, однако, перед созданием пользовательской записи потребовалось больше логики, тогда было бы совершенно правильно отвлечь эту логику на вашей модели User. Но, несмотря на это, я думаю, что ваша текущая реализация уместна.

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