私はlaravel v3.2.12-4を使用していますが、減分機能に問題があります。1 行だけを更新する代わりに、このメソッドは列内のすべての行に影響を与えます。私はEloquentを使用しており、多対多の関係があります。
decrement メソッドを含むコードは次のとおりです。
foreach ($ids as $id) {
$indicator = Indicator::find($id);
$tags = $indicator->tags()->get();
foreach ($tags as $tag) {
$indicator->tags()->detach($tag->id);
if ($tag->frequency == 1) {
$tag->delete();
} else {
// I have to made this code to fix the problem with decrement function
// But i want to use decrement
$tag->frequency = $tag->frequency - 1;
$tag->save();
// This dosnt work for me.
// $tag->decrement('frequency');
}
}
$indicator->delete();
}
モデル クラス Indicator で、この関数との関係を作成しました。
public function tags()
{
return $this->has_many_and_belongs_to('Tag');
}
モデル クラス Tag で、この関数との関係を作成しました。
public function indicators()
{
return $this->has_many_and_belongs_to('Indicator');
}
まあ、列を更新した場合、この結果は問題ありませんが、デクリメント関数を使用すると、これはすべての行に影響し、これがバグなのか、このメソッドの何かなのかわかりません。
ありがとう。