質問編集履歴

2

質問文を編集しました。

2019/07/07 00:08

投稿

amaturePy
amaturePy

スコア131

test CHANGED
File without changes
test CHANGED
@@ -4,7 +4,11 @@
4
4
 
5
5
  検索ボタンを押したところでなにもDBエラーも出ないので、DB側の設定と呼んでいるクエリは問題がないと思います。
6
6
 
7
- また、同じような機能を記事の投稿機能にも導入しているのですが、投稿に関してはtitleの名前で検索機能がうまく動いています。そのコードと同じロジックで作成したのですが、何か他に機能が期待通りに動かない要因が分かる方いらっしゃったら教えて頂きたいです
7
+ また、同じような機能を記事の投稿機能にも導入しているのですが、投稿に関してはtitleの名前で検索機能がうまく動いています。そのコードと同じロジックで作成したのですが、やはり検索機能が動かない状態です
8
+
9
+
10
+
11
+ 何か他に機能が期待通りに動かない要因が分かる方いらっしゃったら教えて頂きたいです。
8
12
 
9
13
 
10
14
 

1

質問内容を変更しました。

2019/07/07 00:07

投稿

amaturePy
amaturePy

スコア131

test CHANGED
@@ -1 +1 @@
1
- CakePHP2系でhidden値をDBに保存したいです
1
+ CakePHP2系で検索機能が動きません
test CHANGED
@@ -1,80 +1,44 @@
1
- CakePHp2でいいね機能のような物実装ようとしてます。
1
+ CakePHP2でusersテーブルのusernameで検索処理をできる機能を作成してます。
2
2
 
3
- 設計とてはGoodボタンをクリックるとPost_idとUser_idのパラメーターをビューに送信
3
+ かし検索機能が実行されないで
4
4
 
5
-
5
+ 検索ボタンを押したところでなにもDBエラーも出ないので、DB側の設定と呼んでいるクエリは問題がないと思います。
6
6
 
7
- リダイレクトでそのhidden値を持ったままsave_likeアクションにリダイレクト
8
-
9
-
10
-
11
- likesテーブルのuser_idとpost_idを登録。
12
-
13
- カウント関数でいいね数をカウント
14
-
15
-
16
-
17
- かしリダイレクト先のsave数でuser_idとpost_idDBに登録されせん
7
+ また、同じような機能を記事の投稿機能にも導入ているのですが投稿にしてはtitleの名前で検索機能く動いていますそのコードと同じロジックで作成したのですが、何か他に機能が期待通りに動かない要因が分かる方いらっしゃったら教えて頂きたいです。
18
-
19
- hidden値のDB登録に関してアドバイスを頂けたら幸いです。
20
8
 
21
9
 
22
10
 
23
11
  ```
24
12
 
25
- <?php
13
+ Users.Controller
26
14
 
27
- class LikesController extends AppController
15
+ public function find()
28
16
 
29
- {
17
+ {
30
18
 
31
- public $uses = array('Post','User');
19
+ $userNameKeyword=null;
32
20
 
33
-
21
+ if(!empty($this->request->data['User']['username'])) {
34
22
 
35
- public function like()
36
-
37
- {
38
-
39
- $post_id=$this->request->params['named']['post_id'];
40
-
41
- $user_id=$this->request->params['named']['user_id'];
23
+ $userNameKeyword=$this->request->data['User']['username'];
42
-
43
- $this->set('post_id',$post_id);
44
-
45
- $this->set('user_id',$user_id);
46
-
47
-
48
-
49
- $this->redirect(array('controller'=>'Posts','action'=>'search',$post_id,$user_id));
50
-
51
- }
52
-
53
-
54
-
55
- public function save_like()
56
-
57
- {
58
-
59
- if($this->request->is('Post')) {
60
-
61
- if($this->Like->save($this->request->data)) {
62
-
63
-
64
24
 
65
25
  }
66
26
 
67
27
 
68
28
 
29
+ $users=$this->User->find('all',[
30
+
31
+ 'conditions' => [
32
+
33
+ 'User.username LIKE' =>'%'.$userNameKeyword.'%'
34
+
35
+ ],]);
36
+
37
+ $this->set('users',$users);
38
+
39
+ $this->render();
40
+
69
41
  }
70
-
71
- }
72
-
73
- }
74
-
75
- ?>
76
-
77
-
78
42
 
79
43
  コード
80
44
 
@@ -84,15 +48,67 @@
84
48
 
85
49
  ```
86
50
 
87
- <?php
51
+ find.ctp
88
52
 
89
- echo $this->Form->create('Like',array('url' => array('controller' => 'Likes', 'action' => 'save_like')));
53
+ <div class="row-fluid">
90
54
 
91
- echo $this->Form->hidden('post_id',['value'=>$post_id]);
55
+ <div class="span9">
92
56
 
93
- echo $this->Form->hidden('user_id',['value'=>$user_id]);
57
+
94
58
 
59
+ <table class="table">
60
+
95
- ?>
61
+ <tr>
62
+
63
+ <th><?php echo $this->Paginator->sort('id','ID');?></th>
64
+
65
+ <th><?php echo $this->Paginator->sort('username','Username');?></th>
66
+
67
+ </tr>
68
+
69
+ <?php foreach($users as $key => $user):?>
70
+
71
+ <tr>
72
+
73
+ <td><?php echo h($user['User']['id']); ?></td>
74
+
75
+ <td><?php echo $this->Html->link($user['User']['username'],'/follows/profile/' . $user['User']['id']);?></td>
76
+
77
+ </tr>
78
+
79
+ <?php endforeach;?>
80
+
81
+ </table>
82
+
83
+ </div>
84
+
85
+
86
+
87
+ <div class="span3">
88
+
89
+ <div class="well" style="margin-top:20px;">
90
+
91
+ <?php echo $this->Form->create('Users',array('url'=>'find')); ?>
92
+
93
+
94
+
95
+ <fieldset>
96
+
97
+ <legend>Search user</legend>
98
+
99
+ </fieldset>
100
+
101
+
102
+
103
+ <?php echo $this->Form->input('username', array('label' => 'Enter Username', 'class' => 'span12', 'empty' => true)); ?>
104
+
105
+ <?php echo $this->Form->end('Search'); ?>
106
+
107
+ </div>
108
+
109
+ </div>
110
+
111
+ </div>
96
112
 
97
113
  コード
98
114