2

我正在尝试将以数组形式返回的数据保存到我的表中。但是,我需要访问两个 GET 输入中的字符串才能这样做。我怎样才能做到这一点?我可以用一个 GET 来完成,但不能同时使用两者。

    public function postDisableDates() {

    $input = Input::all();  

    foreach($input['date'] as $date) {

        $db_date = strtotime($date);

        $dateFormat = date('Y-m-d', strtotime("-1 month", $db_date));

    DB::table('bk_disable_date')
            ->delete();

    DB::table('bk_disable_date')
            ->insert(array(
                'date' => $dateFormat,
                'office' => $input['office']
            ));                     
    }       

}

var转储$输入

array(3) { ["_token"]=> string(40) "Dr0pu8RUbTTe1t058Fb3sDjKQLLk1KMBnBrpV7m6" ["office"]=> array(4) { [0]=> string(3) "Office1" [1]=> string(10) "Office2" [2]=> string(10) "Office3" [3]=> string(10) "Office4" } ["date"]=> array(4) { [0]=> string(17) "25 December, 2013" [1]=> string(17) "14 December, 2013" [2]=> string(17) "05 December, 2013" [3]=> string(17) "23 November, 2013" } } 

foreach 循环中 $dateFormat 的 var 转储

string(10) "2013-11-25" string(10) "2013-11-14" string(10) "2013-11-05" string(10) "2013-10-23" 

$dateFormat 部分似乎没问题。我只需要办公室部分以同样的方式工作。可能是实现这一目标的更简单方法。

我的输入名称设置为 office[] 和 date[]。如果这有帮助。

禁用日期表如下

id  date    office
30  2013-11-25  Office1
31  2013-11-14  Office2
32  2013-11-05  Office3
33  2013-10-23  Office4
4

1 回答 1

3

如果办公室和日期键相同(我假设),您可以尝试:

public function postDisableDates() {

  $input = Input::all();  

  DB::table('bk_disable_date')
    ->delete();

  foreach($input['date'] as $key => $date) {

    $db_date = strtotime($date);
    $dateFormat = date('Y-m-d', strtotime("-1 month", $db_date));

    DB::table('bk_disable_date')
      ->insert(array(
        'date' => $dateFormat,
        'office' => $input['office'][$key]
      )
    );                     
  }       
}

希望有帮助

于 2013-11-11T01:06:08.983 回答