-1
在Laravel框架中,我有2個模型。首先是問題的模型:Laravel 5.2在更新子進程後不更新父進程的時間戳
class Question extends Model
{
protected $table = 'questions';
protected $fillable = [...];
public function answers()
{
return $this->hasMany('App\Models\Answer');
}
...
}
,並回答模式:
class Answer extends Model
{
protected $table = 'answers';
protected $fillable = [...];
protected $touches = ['question'];
public function question()
{
return $this->belongsTo('App\Models\Question');
}
...
}
我更新在回答模型代碼中的一些屬性:
$answer = $answer->select('id')
->where('id', $id)
->firstOrFail();
$answer->update($data);
當我檢查數據庫,在回答數據表更新包括updated_at列。但是,它的父級(問題表)不會更新updated_at列中的時間戳。
如何解決這個問題?謝謝。
只需進行一些快速的完整性檢查:您的「答案」表中是否有「question_id」字段(以驗證關係是否正確設置)?你的「答案」表有一個「問題」字段(以驗證字段名稱是否與關係屬性不衝突)? – patricus
我的答案表有question_id作爲外鍵並且沒有問題字段。 –
'答案'表是否有'touches'字段?如果你手動調用'$ answer-> question() - > touch()',它會起作用嗎? – patricus