作者kamihane (也無風雨也無晴)
看板PHP
標題[請益] Yii 2.0 抓登入中的user id
時間Mon Apr 20 10:21:54 2015
又是我來問問題了Orz。
我目前在使用的是yii framework 2。
我利用了Gii 的功能產生了一個Post的系統,也把權限控制放上去了。
由於是Gii產生的格式,所以他自動將Author_id的輸入地方給做了出來。
但是我的目標是讓使用者登入之後才可以發文,應該是在發文的地方不用另外填寫
author_id這個項目,而是讓他自己去抓登入中的 id來存進db裡面才對。
首先我先把view內的author欄位給拿掉。
然後我在controller內把action的地方修改成了:
public function actionCreate(){
if ($model->load(Yii::$app->request->post())) {
$model->author_id = Yii::$app()->user->getId();
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ <=我的問題
$model->save();
可是好像不行.. Orz
我看了一下我的common\models\User裡面有getID這個function,可是還是讀不到
有沒有人能夠提示我一下我不是弄錯了哪個部分呢?
--
と ▏︳ | ︳▉ ▋ ▏ ▊◤▼◢ ‧◣▍ ▲◣|▂▁▊ ψcl3bp6
あ ▏ ∣ ▉▊▎▁▏▋ | ▊
◣ ▊◤ ▉◢
◤▃▍▋
る ▉▊ ▉ ▊▊ ▏▊▍▍▎ ▲▆▇ / ◥▊ █
科 超 ▉▋ ▊ ▲▃▅ ◥
▋ ▆▅▆
˙ ▊▉ ▏ ▊
学 電 ▉▍▏▊▏▊▼◢ ‧▏ 〞 ◢◤▍
▼
の 磁砲 ▉▎▎▉▍▉▲▎ ▊ ▲▎ ▼
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.249.112.154
※ 文章網址: https://webptt.com/m.aspx?n=bbs/PHP/M.1429496516.A.D9D.html
1F:→ MOONRAKER: 到底是author還是auther 04/20 10:33
2F:→ kamihane: 錯字錯字xD 我修改一下 04/20 10:36
※ 編輯: kamihane (111.249.112.154), 04/20/2015 10:36:35
3F:→ MOONRAKER: 阿~還以為只是屬性拼錯字 改過來就好了 >_< 04/20 10:45
4F:→ kamihane: 我問了一下前輩,他說要我去看看UserIdentity.php 04/20 10:48
5F:→ kamihane: 但是沒有這個檔阿 囧 04/20 10:49
6F:→ kamihane: 還是其實不能這樣直接呼叫User這個Class呢 04/20 11:05
7F:→ kamihane: 還是都call不到ID.. Orz 04/20 12:06
8F:→ MOONRAKER: ㄇ有 我那是猜的 X( 04/20 12:17
9F:→ kamihane: 好吧Orz,我查到的相關資料都是1.0版本的 04/20 12:21
10F:→ kamihane: 感覺是我CALL錯地方了,所以拿不到值 04/20 12:21
如果我在最上面放use common\User;
然後下面這邊直接把 $model->author_id = User.php裡面的user class內的
getId function呢?
好像應該是這樣,但是我不知道怎麼連過去,我用user.getId(); 一看就錯了Orz
※ 編輯: kamihane (111.249.112.154), 04/20/2015 12:24:14
11F:→ kamihane: 好撞牆的感覺,弄了兩小時了Orz 04/20 12:34
12F:→ iceblue7x: Yii::「$app()」? 04/20 13:15
13F:推 peterlai: 要找目前登錄的使用者要用useridentity喔 04/21 00:42
14F:→ whocant: 有設auth的話,就$id = Yii::$app->user->identity->id; 04/21 00:45
15F:→ whocant: 如果你用advance template,到common/models/user.php看 04/21 00:47
16F:→ MOONRAKER: OHNO 回訊息竟然誤貼到上面去了 XO 04/21 03:49
17F:→ kamihane: xD 我昨天先跳過這個地方了 (遮臉,做起東西XD 04/21 10:25
18F:→ kamihane: 其他東西 04/21 10:25
19F:推 ImNot5566: 當前user id你那樣取沒錯阿,拿不到id要檢查是否有登入 04/21 11:14
20F:→ ImNot5566: Yii::$app->user->getId(); 04/21 11:15
21F:→ kamihane: 情況很怪中ORZ 04/21 13:35
22F:→ kamihane: 忘了說xD我解決了~ 04/21 22:16
23F:→ kamihane: 謝謝大家的回應xD 04/21 22:17