2017-07-01 81 views
0

我有一個名爲casa的mysql表,它具有名爲casa_id的主鍵。 我設置好的一個模型:如何將表格映射到laravel中的模型

class Casa extends Model 
{ 
protected $table = 'casa'; 
public $casa_id; 
public $anuncio_id; 
public $banheiros; 
public $capacidade_garagem; 
public $dormitorios; 
public $piscina; 
public $preco; 
public $dir_id; 
public $cep; 
public $numero_fotos; 
public $visualizacoes; 
public $ativo; 
public $descricao; 

public $timestamps = false; 

protected $connection = 'eloquent_db'; 


} 

執行此代碼

$卡薩= \軟件\卡薩::發現($ ID);

我得到了自己的錯誤:

SQLSTATE [42S22]:列未找到:1054未知列在 'where子句'(SQL 'casa.id':SELECT * FROM casa其中casaid = 238極限1。 )

我不知道雄辯,但我認爲一些conventiontio失蹤。你可以給出指令將我現有的表映射到模型,以便我可以使用Eloquent。我更喜歡數據庫第一人,但我正在學習web api,不想偏離我的路,並開始編寫SQL命令。我的表格列有我的模型的確切名稱。對於操作

代碼我想執行:

$casa = \App\Casa::find($id); 
$casa->dormitorios = 5; 
$casa->save(); 

回答

1

將其更改爲:

class Casa extends Model{ 
    protected $table = 'casa'; 
    protected $primaryKey = 'casa_id'; 
    protected $connection = 'eloquent_db'; 
    public $timestamps = false; 
} 

$casa = \App\Casa::find($id); 
+0

我現在的問題是我無法更新表。沒有異常拋出,它只是沒有得到更新。 –

+0

@Diego Alves告訴我你的代碼更新 – voodoo417

+0

我添加了我用來更新問題的代碼。 –