使用Laravel和Symfony更改数据表中的日期格式

时间:2017-03-31 11:20:55

标签: php laravel symfony

我试图更改DataTable中日期字段的格式,因此不在表单中!这些字段是使用formbuilder Symfony创建的。我不知道如何做到这一点,或者放置它。我试图在DateForm.php中更改日期的格式,但这并不会更改数据表中的数据。我希望这是足够的代码来了解情况,否则请告诉我。

我的数据表DateTable.php

class DateTable extends BaseDataTable{
    use FilterableDataTableTrait;
    public function ajax()
    {
        $view = view('admin::crud.actions');

        $query = $this->query();

        return $this->datatables
            ->eloquent($query)
            ->addColumn('id', function ($item) {
                return $item->id;
            })->addColumn('action', function ($item) use ($view) {
                $view = $item->relation ? view('admin::date.actions') : view('admin::date.actions');
                $view->with('item', $item);
                return $view->render();
            })->make(true);
    }

    public function html()
    {
        return $this->builder()
            ->columns($this->getColumns())

            ->addAction(['title' => '', 'width' => '100px'])
            ->ajax('')
            ->parameters(array_merge($this->getBuilderParameters(), ['autoWidth' => false]));
    }
 }

我的表单DateForm.php:

class DateForm extends AbstractType{
private $data;

public function buildForm(FormBuilderInterface $builder, array $options)
{
    $this->data = $builder->getData();
    return $builder
        ->add('date', 'date',
            [
                'required' => true,
            ])
        ->add('description', 'textarea', ['required' => true
        ]);
}
}

1 个答案:

答案 0 :(得分:0)

你应该使用Laravel Carbon:

$date->format('d.m.Y'); //or another time format

在将数据插入数据库之前。