【问题标题】:Create Input::get reusable array (Laravel 4)创建 Input::get 可重用数组(Laravel 4)
【发布时间】:2014-11-20 15:13:37
【问题描述】:

我有一个控制器,它接收来自来自的输入。我的控制器在不同的功能中同时处理 createupdate

有没有一种方法可以创建一个数组/函数,然后我可以在两个位置调用,这样我就不必在 中重复下面的相同代码创建更新函数?

$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;

}

谢谢大家,如果有任何帮助,我将不胜感激。

【问题讨论】:

  • 是的,你可以。但正是你的问题?你有什么问题?你有什么问题?
  • 感谢马尔辛的快速回复。我试图避免在 2 个不同的函数中重复相同的代码两次,所以我需要一种方法来允许我创建一次(上面的第一个代码块),然后在 2 个单独的函数中调用它。

标签: php arrays laravel laravel-4 eloquent


【解决方案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();

【讨论】:

    猜你喜欢
    • 2014-09-06
    • 2015-07-23
    • 1970-01-01
    • 2014-11-09
    • 2018-11-22
    • 1970-01-01
    • 1970-01-01
    • 2017-09-30
    • 2018-05-03
    相关资源
    最近更新 更多