我有一个接收来自from的输入的控制器。我的控制器处理不同功能中的创建和更新。
有没有办法可以创建一个数组/函数,然后我可以在两个位置调用,这样我就不必在中重复相同的代码了创建和更新功能?
$client->company_name = Input::get('company_name');
$client->telephone = Input::get('telephone');
$client->website = Input::get('website');
$client->building_name = Input::get('building_name');
$client->street_address = Input::get('street_address');
$client->town = Input::get('town');
我已经创建了规则数组(下面),我只需要尝试对输入值执行相同操作。
/**
* create the validation rules for database input
*
* @return array
*/
private function rules()
{
$rules = array(
'company_name' => 'required',
'telephone' => 'required',
'website' => 'url',
'building_name' => '',
'street_address' => '',
'town' => '',
);
return $rules;
}
谢谢大家,我很感激您的帮助。
答案 0 :(得分:1)
如果我理解你,你需要使用这个功能
function modifyClient($client) {
$client->company_name = Input::get('company_name');
$client->telephone = Input::get('telephone');
$client->website = Input::get('website');
$client->building_name = Input::get('building_name');
$client->street_address = Input::get('street_address');
$client->town = Input::get('town');
}
如果您创建新客户端,则可以使用:
$client = new Client;
modifyClient($client);
如果你修改了,你可以这样做:
$client = Client::find($id);
modifyClient($client);
在他们两个之后,您可以使用
将其保存到数据库中$client->save();