我有複合主鍵,所以Laravel的save()方法無法工作。因此我需要重寫save方法。例如,我的主鍵是一個由column_a和column_b組成的組合鍵。你能給我舉例說明如何覆蓋保存方法以及我放置的位置?Laravel 5 Override Eloquent保存方法
我的主鍵:column_a,column_b
我已經試過如下:
protected function setKeysForSaveQuery(Builder $query)
{
parent::setKeysForSaveQuery($query);
$query->where('locale', '=', $this->locale);
return $query;
}
我發現上面的代碼,但它會導致500內部服務器錯誤甚至我打電話,僅讀取值的方法從數據庫。我已經將$ primaryKey ='column_a'和'locale'(在where裏面)設置爲column_b。我不知道$ this-> locale指的是什麼?
這裏是另一種方式,我發現,但它沒有太
protected $secondaryKey = 'column_b';
function newQuery()
{
$query = parent::newQuery();
$query->where($this->secondaryKey, '=', $this->type);
return $query;
}
同樣,我不知道什麼是$這個 - >型指。
你可以給我的例子嗎?我不知道如何從where子句中刪除id並在查詢中添加多個where子句(其他列) – OrgGila
我不明白你的意思是什麼,但由於這是一個新問題,我建議你創建新的回答並描述所有內容(使用代碼,你想要什麼,你已經嘗試了什麼)。我相信我或其他人會幫助你。 –
我剛剛包括我試過的東西。 – OrgGila