回答編集履歴
4
continue 2 より break のほうが好きかも
answer
CHANGED
@@ -63,7 +63,7 @@
|
|
63
63
|
foreach ($taxes as $tax) {
|
64
64
|
if ($tax->start_dt <= $date && ($date <= $tax->end_dt || $tax->end_dt === null)) {
|
65
65
|
$model->setRelation($relattion, $tax);
|
66
|
-
|
66
|
+
break;
|
67
67
|
}
|
68
68
|
}
|
69
69
|
}
|
3
修正
answer
CHANGED
@@ -57,8 +57,6 @@
|
|
57
57
|
|
58
58
|
public function match(array $models, Collection $taxes, $relation)
|
59
59
|
{
|
60
|
-
$foreign = $this->getForeignKeyName();
|
61
|
-
|
62
60
|
foreach ($models as $model) {
|
63
61
|
$date = $model->{$this->dateColumn};
|
64
62
|
|
2
修正
answer
CHANGED
@@ -26,7 +26,7 @@
|
|
26
26
|
$this->query->where(function (Builder $query) {
|
27
27
|
$query
|
28
28
|
->whereDate('end_dt', '>=', $this->getDate($this->model))
|
29
|
-
->orWhereNull('
|
29
|
+
->orWhereNull('end_dt');
|
30
30
|
});
|
31
31
|
}
|
32
32
|
}
|
@@ -40,7 +40,7 @@
|
|
40
40
|
$query->where(function (Builder $query) {
|
41
41
|
$query
|
42
42
|
->whereDate('end_dt', '>=', $this->getDate($model))
|
43
|
-
->orWhereNull('
|
43
|
+
->orWhereNull('end_dt');
|
44
44
|
});
|
45
45
|
});
|
46
46
|
}
|
1
修正
answer
CHANGED
@@ -83,7 +83,7 @@
|
|
83
83
|
これでモデル側で
|
84
84
|
|
85
85
|
```php
|
86
|
-
return new HasTax($this, '
|
86
|
+
return new HasTax($this, 'publish_dt');
|
87
87
|
```
|
88
88
|
|
89
89
|
すればリレーション定義完了です。`hasMany` `hasOne` `belongsTo` にならって `hasTax` を定義しておくと更にベター。
|