質問編集履歴

3

追記

2021/10/13 06:56

投稿

larachan
larachan

スコア28

test CHANGED
File without changes
test CHANGED
@@ -48,6 +48,28 @@
48
48
 
49
49
  }
50
50
 
51
+
52
+
53
+ public function getTestModel()
54
+
55
+ {
56
+
57
+ return TestModel::all();
58
+
59
+ }
60
+
61
+
62
+
63
+
64
+
65
+
66
+
67
+
68
+
69
+
70
+
71
+
72
+
51
73
  ```
52
74
 
53
75
  で試しましたが、
@@ -56,7 +78,23 @@
56
78
 
57
79
  TestModel::query();などで利用する場合
58
80
 
59
- constructにてToo few arguments to functionが発生しエラーになってしまいます。
81
+ constructにてToo few arguments to functionが発生しエラーになってしまいます。debugで追うとTestModel::all();にて発生します
82
+
83
+
84
+
85
+ ```ここに言語を入力
86
+
87
+ 呼び出し元
88
+
89
+ $a = new TestModel(id: 1);
90
+
91
+ $a->getTestModel();
92
+
93
+
94
+
95
+ ```
96
+
97
+
60
98
 
61
99
 
62
100
 

2

追記

2021/10/13 06:56

投稿

larachan
larachan

スコア28

test CHANGED
File without changes
test CHANGED
@@ -61,3 +61,43 @@
61
61
 
62
62
 
63
63
  よろしくお願いします。
64
+
65
+
66
+
67
+ 追記
68
+
69
+ ```ここに言語を入力
70
+
71
+     protected $table = '';
72
+
73
+
74
+
75
+
76
+
77
+ app()->bind(TestModel::class, function () {
78
+
79
+ $tm = new TestModel();
80
+
81
+ $tm->table = 'test_model_1';
82
+
83
+ return $classX;
84
+
85
+ });
86
+
87
+ try {
88
+
89
+ $tm = app()->make(TestModel::class);
90
+
91
+ $table = $tm->table;
92
+
93
+ $a = $tm->getCollectionTpUrgent();
94
+
95
+ } catch (BindingResolutionException $e) {
96
+
97
+ }
98
+
99
+ return $a;
100
+
101
+ ```
102
+
103
+ 上記のパターンでは外から$tableは変更されましたが、$tm->getCollectionTpUrgent();で対象テーブルなしのexceptionが発生しました。

1

改善

2021/10/13 02:58

投稿

larachan
larachan

スコア28

test CHANGED
File without changes
test CHANGED
@@ -16,7 +16,7 @@
16
16
 
17
17
 
18
18
 
19
- 場合Modelのphpファイルは1つに纏めたいと思っています。
19
+ テーブル毎にModelファイルを作成するは馬鹿馬鹿しいので、Modelのphpファイルは1つに纏めたいと思っています。
20
20
 
21
21
 
22
22