创建Input :: get reusable array(Laravel 4)

时间:2014-09-25 18:22:41

标签: php arrays laravel laravel-4 eloquent

我有一个接收来自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;

}

谢谢大家,我很感激您的帮助。

1 个答案:

答案 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();