teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

continue 2 より break のほうが好きかも

2019/04/14 09:47

投稿

mpyw
mpyw

スコア5223

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
- continue 2;
66
+ break;
67
67
  }
68
68
  }
69
69
  }

3

修正

2019/04/14 09:47

投稿

mpyw
mpyw

スコア5223

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

修正

2019/04/14 09:29

投稿

mpyw
mpyw

スコア5223

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('endt_dt');
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('endt_dt');
43
+ ->orWhereNull('end_dt');
44
44
  });
45
45
  });
46
46
  }

1

修正

2019/04/14 09:28

投稿

mpyw
mpyw

スコア5223

answer CHANGED
@@ -83,7 +83,7 @@
83
83
  これでモデル側で
84
84
 
85
85
  ```php
86
- return new HasTax($this, 'published_at');
86
+ return new HasTax($this, 'publish_dt');
87
87
  ```
88
88
 
89
89
  すればリレーション定義完了です。`hasMany` `hasOne` `belongsTo` にならって `hasTax` を定義しておくと更にベター。