2015-08-21 4 views
1

вставляет и редактирует реестр, но не содержит столбцов даты. |Laravel дата не вставляет, обновляет в таблице базы данных

программирования, казалось бы, хорошо, но не удалось получить поле даты правильно зарегистрировано.

использование UTF-8 кодирование, локаль (Es)

почему? Т_Т

Таблица

Schema::create('products', function(Blueprint $table) 
    { 
     $table->increments('id'); 
     $table->integer('subclassproduct_id')->unsigned(); 
     $table->integer('branch_id')->unsigned(); 
     $table->integer('coin_id')->unsigned(); 
     $table->string('code', 50); 
     $table->string('name', 100); 
     $table->string('description', 200); 
     $table->text('observation'); 
     $table->decimal('price', 5,2); 
     $table->date('validity_since'); 
     $table->date('validity_until'); 
     $table->enum('state', ['Activo', 'Desactivado']); 
     $table->softDeletes(); 
     $table->timestamps(); 

     $table->foreign('subclassproduct_id') 
      ->references('id')->on('subclasses_products') 
      ->onUpdate('CASCADE') 
      ->onDelete('CASCADE'); 

     $table->foreign('branch_id') 
      ->references('id')->on('branches') 
      ->onUpdate('CASCADE') 
      ->onDelete('CASCADE'); 

     $table->foreign('coin_id') 
      ->references('id')->on('coins') 
      ->onUpdate('CASCADE') 
      ->onDelete('CASCADE'); 
    }); 

Модель

это модель таблицы

class Product extends Model { 
use SoftDeletes; // for soft delete 

protected $table = 'products'; 

protected $fillable = [ 
    'subclassproduct_id', 'branch_id', 'coin_id', 'code' ,'name', 'description', 'observation', 'price', 'validity_since', 'validity_until', 'state' 
]; 

protected $dates = ['deleted_at']; } 

Контроллер

это контроллер таблицы

public function update(EditProductRequest $request, $id) 
{ 
    $Product = Product::findOrFail($id); 
    $Product->fill($request->all()); 

    $request->merge(array('validity_since' => Carbon::createFromFormat('d/m/Y', $request->get('validity_since'))->toDateString())); 
    $request->merge(array('validity_until' => Carbon::createFromFormat('d/m/Y', $request->get('validity_until'))->toDateString())); 



    $Product->save(); 

    return redirect()->route('administrar.products.index'); 
} 

ответ

1

переместить эти строки перед fill:

$request->merge(...); 
$request->merge(...); 

Затем используйте fill и остальной код:

$Product->fill($request->all()); 
$Product->save(); 

// refirect or whatever... 

Кстати, вы можете использовать не включенные в другие категории merge с array:

$request->merge([ 
    'validity_since' => 'value', 
    'validity_until' => 'value' 
]); 
+0

Спасибо Я был настолько перегружен, что не видел –

+0

Очень приветствуется. Все в порядке, и это происходит :-) –

Смежные вопросы