2017-02-18 3 views
-6

У меня есть простая модель автомобиля с одним атрибутом:Laravel - только ноль, сохраняется в базе данных

<?php 

namespace App; 

use Illuminate\Database\Eloquent\Model; 
use Illuminate\Filesystem\Filesystem; 

/* 
* TODO: 
* Property Fotos ausfüllen 
*/ 

class Car extends Model 
{ 
    //Tablenname 
    protected $table = 'cars'; 

    protected $fillable = ['title']; 

    public $timestamps = false; 

    /** 
    * @var string 
    */ 
    protected $title = NULL; 

    /** 
    * @var integer 
    */ 
    protected $imagesId = NULL; 

    /** 
    * 
    * @return string 
    */ 
    public function getTitle() 
    { 
     return $this->attributes['title']; 
    } 


    /** 
    * 
    * @param string $title 
    * 
    * @return void 
    */ 
    public function setTitle($title) 
    { 
     $this->attributes['title'] = $title; 
    } 

} 

Это мой магазин функция от контроллера:

<?php 

namespace App\Http\Controllers; 

use App\Car; 


class CarController extends Controller 
{ 

/** 
    * Store a newly created resource in storage. 
    * 
    * @param \Illuminate\Http\Request $request 
    * @return \Illuminate\Http\Response 
    */ 
    public function store(Request $request) 
    {  
     $car = new Car(); 

     // $car->setTitle($request->title); 
     $car->setTitle('stackoverflow'); 
     $car->save(); 

     ... 
    } 
} 

Однако это как запись в базе данных выглядит следующим образом:

enter image description here

Название всегда равен нулю! Я также пробовал это с другими моделями, то же самое.

+2

Каков ваш полевой тип данных? –

+0

кричит. Это 'int' вместо' varchar'. Теперь он работает после того, как я изменил его! Благодаря! Пожалуйста, создайте ответ, чтобы я мог его принять. – Black

ответ

2

Проверьте тип данных поля. Если вы хотите сохранить строку, вы должны изменить тип данных поля 'title' на varchar. надеюсь, что это сработает.

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