簡體   English   中英

Laravel 5.2雄辯的主鍵作為多鍵

[英]Laravel 5.2 Eloquent primary key as a multiple key

我有一個包含以下各列的模型:

  • blog_id(fillabale)
  • 日期(可填寫)
  • 計數器

blog_id +日期的唯一鍵

每當我嘗試通過使用(例如)從該表中獲取結果時,

$model = BlogCounter::findOrNew(2,'2016-09-25');

要么

$model = BlogCounter::whereBlogId(2)->whereDate('date','=','2016-09-25')->first()

我收到錯誤消息:

列blog_counter.id不存在

我試圖覆蓋primaryKey並將其設置為null / ['blog_id','date'] /'blog_id,date'以上都不解決了雄辯地嘗試通過id獲取raw的問題。

我在此表上沒有主鍵,因為我使用的是唯一鍵。

我想念什么嗎? 我如何強制口才模型在沒有主鍵的情況下工作?

BTY,目前我正在使用PostgreSQL 9.5。

謝謝!

雄辯的假設表中有一個ID列標識一行。 在您的情況下,此列名為blog_id,因此您需要讓Eloquent知道。

您可以通過在模型中定義primaryKey屬性來實現。 只要可以用於獲取單個記錄,它就不必是數據庫中的主鍵:

class BlogCounter extends Model {
  protected $primaryKey = 'blog_id';
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM