質問編集履歴

8

最終追記しました。後少しで解決できそうです

2019/05/26 12:29

投稿

memimemi
memimemi

スコア25

test CHANGED
File without changes
test CHANGED
@@ -166,4 +166,4 @@
166
166
 
167
167
 
168
168
 
169
- 後少しなのでご存知でしたらご教授頂けまでしょうか
169
+ 後少しなのでご存知でしたらご教授頂けませんでしょうか

7

最終追記しました。後少しで解決できそうです

2019/05/26 12:29

投稿

memimemi
memimemi

スコア25

test CHANGED
File without changes
test CHANGED
@@ -106,37 +106,43 @@
106
106
 
107
107
 
108
108
 
109
- ### 追記 (16:00現在)
109
+ ### 追記 (21:21現在)
110
110
 
111
111
  コントローラーを以下に修正しました。
112
112
 
113
113
  ```controller
114
114
 
115
- $select1 = DB::table('users')->select('id')->where('role_id', '1')->get();
115
+ $select1 = DB::table('users')->select('id')->where('role_id', '1')->get()->pluck('id')->toArray();
116
116
 
117
- $select1->toArray();
117
+
118
118
 
119
- return view('app.show' , $select1);
119
+ return view('app.show' , compact('select1'));
120
120
 
121
121
  ```
122
122
 
123
- ビューの方で<?php echo $select1; ?>で確認てみると、
123
+ ビューのbody内に以下の記述を追加ました。
124
124
 
125
+ ```view
126
+
127
+ <script>
128
+
125
- [{"id":1},{"id":2}]と表示されました。
129
+ var select1 = "@json($select1)";
130
+
131
+ </script>
132
+
133
+ ```
126
134
 
127
135
 
128
136
 
129
- javascriptの方も修正しました。
137
+
130
138
 
131
139
  ```javascript
132
140
 
133
141
  $('#select1').click(function(){
134
142
 
135
- var select1 = "<?php echo print_r ($select1); ?>";
136
-
137
143
  $select1 = select1.split(",", -1);
138
144
 
139
- $('#optgroup').multiSelect('select', select1);
145
+ $('#optgroup').multiSelect('select', $select1);
140
146
 
141
147
  return false;
142
148
 
@@ -146,4 +152,18 @@
146
152
 
147
153
 
148
154
 
155
+ この記述で、ボタンを押すとセレクトボックス内にデータが反映されました!
156
+
157
+ と見えましたが、一番始めと最後の値が反映されておらず変数の中身を見てみると、
158
+
149
- ボタンをクリックすると $('#optgroup').multiSelect('select', select1);でエラーが出てしまう状況です。
159
+ ["[33", "10", "2", "5", "55", "44", "66]"]
160
+
161
+ のようになっており、33と66のidは反映されず飛ばされているみたいです。
162
+
163
+
164
+
165
+ reprace("[", "")等で消せるかと思って試してみたのですが治らず・・・
166
+
167
+
168
+
169
+ 後少しなのでご存知でしたらご教授頂けますでしょうか

6

更に追記を記入しました。

2019/05/26 12:28

投稿

memimemi
memimemi

スコア25

test CHANGED
File without changes
test CHANGED
@@ -106,28 +106,44 @@
106
106
 
107
107
 
108
108
 
109
- ### 追記
109
+ ### 追記 (16:00現在)
110
110
 
111
- 1つ目の配列のエラーだと言う事がわかりましたので、調べてみた所たしかにテーブルのデータ全てが
111
+ コントローラーを以下に修正しました
112
112
 
113
- 入っている状態で渡っていました。
113
+ ```controller
114
+
115
+ $select1 = DB::table('users')->select('id')->where('role_id', '1')->get();
116
+
117
+ $select1->toArray();
118
+
119
+ return view('app.show' , $select1);
120
+
121
+ ```
122
+
123
+ ビューの方で<?php echo $select1; ?>で確認してみると、
124
+
125
+ [{"id":1},{"id":2}]と表示されました。
114
126
 
115
127
 
116
128
 
129
+ javascriptの方も修正しました。
117
130
 
131
+ ```javascript
118
132
 
119
- なので、新しく調べ直して下記の記述を試してみると
133
+ $('#select1').click(function(){
134
+
135
+ var select1 = "<?php echo print_r ($select1); ?>";
136
+
137
+ $select1 = select1.split(",", -1);
138
+
139
+ $('#optgroup').multiSelect('select', select1);
140
+
141
+ return false;
142
+
143
+ });
120
144
 
121
145
  ```
122
146
 
123
- $select1 = User::get(['id'])->whre('role_id',1);
124
147
 
125
- $select1->toArray();
126
148
 
127
- ```
128
-
129
- Method Illuminate\Database\Eloquent\Collection::whre does not exist.
149
+ ボタンをクリックすると $('#optgroup').multiSelect('select', select1);でエラーが出てしまう状況です。
130
-
131
- のエラーが新たに発生しました。
132
-
133
- 多分記述方法が違うのではと思って現在検索中です・・・

5

toArray()を追加

2019/05/26 07:05

投稿

memimemi
memimemi

スコア25

test CHANGED
File without changes
test CHANGED
@@ -122,6 +122,8 @@
122
122
 
123
123
  $select1 = User::get(['id'])->whre('role_id',1);
124
124
 
125
+ $select1->toArray();
126
+
125
127
  ```
126
128
 
127
129
  Method Illuminate\Database\Eloquent\Collection::whre does not exist.

4

追記を記入しました。

2019/05/26 04:47

投稿

memimemi
memimemi

スコア25

test CHANGED
File without changes
test CHANGED
@@ -103,3 +103,29 @@
103
103
 
104
104
 
105
105
  以上です。わかりづらいところあれば補足しますのでよろしくおねがいします
106
+
107
+
108
+
109
+ ### 追記
110
+
111
+ 1つ目の配列のエラーだと言う事がわかりましたので、調べてみた所たしかにテーブルのデータ全てが
112
+
113
+ 入っている状態で渡っていました。
114
+
115
+
116
+
117
+
118
+
119
+ なので、新しく調べ直して下記の記述を試してみると
120
+
121
+ ```
122
+
123
+ $select1 = User::get(['id'])->whre('role_id',1);
124
+
125
+ ```
126
+
127
+ Method Illuminate\Database\Eloquent\Collection::whre does not exist.
128
+
129
+ のエラーが新たに発生しました。
130
+
131
+ 多分記述方法が違うのではと思って現在検索中です・・・

3

ソース修正しました2

2019/05/26 04:46

投稿

memimemi
memimemi

スコア25

test CHANGED
File without changes
test CHANGED
@@ -42,7 +42,7 @@
42
42
 
43
43
  ```view
44
44
 
45
- <a href="javascript:void(0);" id='select-1'>営業</a>
45
+ <a href="javascript:void(0);" id='select1'>営業</a>
46
46
 
47
47
  ```
48
48
 

2

ソースの一部修正

2019/05/26 04:01

投稿

memimemi
memimemi

スコア25

test CHANGED
File without changes
test CHANGED
@@ -92,7 +92,7 @@
92
92
 
93
93
  const data = @json($select1);
94
94
 
95
- $('#optgroup').multiSelect('select', ['0', '1', '2',]);
95
+ $('#optgroup').multiSelect('select', ['1', '2',]);
96
96
 
97
97
  return false;
98
98
 

1

エラーを追記しました

2019/05/26 04:00

投稿

memimemi
memimemi

スコア25

test CHANGED
File without changes
test CHANGED
@@ -50,7 +50,7 @@
50
50
 
51
51
  ```jqeury
52
52
 
53
- $('#select-1').click(function(){
53
+ $('#select1').click(function(){
54
54
 
55
55
  const data = @json($select1);
56
56
 
@@ -61,6 +61,18 @@
61
61
  });
62
62
 
63
63
  ```
64
+
65
+
66
+
67
+ プラグインの表示のソースは割愛しています。
68
+
69
+
70
+
71
+ ### 出たエラー
72
+
73
+
74
+
75
+ array_merge(): Argument #1 is not an array
64
76
 
65
77
 
66
78
 
@@ -76,7 +88,7 @@
76
88
 
77
89
  ```jquery
78
90
 
79
- $('#select-1').click(function(){
91
+ $('#select1').click(function(){
80
92
 
81
93
  const data = @json($select1);
82
94