[請益] Yii 2.0 抓登入中的user id

作者: kamihane (也無風雨也無晴)   2015-04-20 10:21:54
又是我來問問題了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,可是還是讀不到
有沒有人能夠提示我一下我不是弄錯了哪個部分呢?
作者: MOONRAKER (㊣牛鶴鰻毛人)   2015-04-20 10:33:00
到底是author還是auther
作者: kamihane (也無風雨也無晴)   2015-04-20 10:36:00
錯字錯字xD 我修改一下
作者: MOONRAKER (㊣牛鶴鰻毛人)   2015-04-20 10:45:00
阿~還以為只是屬性拼錯字 改過來就好了 >_<
作者: kamihane (也無風雨也無晴)   2015-04-20 10:48:00
我問了一下前輩,他說要我去看看UserIdentity.php但是沒有這個檔阿 囧還是其實不能這樣直接呼叫User這個Class呢還是都call不到ID.. Orz
作者: MOONRAKER (㊣牛鶴鰻毛人)   2015-04-20 12:17:00
ㄇ有 我那是猜的 X(
作者: kamihane (也無風雨也無晴)   2015-04-20 12:21:00
好吧Orz,我查到的相關資料都是1.0版本的感覺是我CALL錯地方了,所以拿不到值好撞牆的感覺,弄了兩小時了Orz
作者: iceblue7x (滿城盡帶路人甲)   2015-04-20 13:15:00
Yii::「$app()」?
作者: peterlai (彼得)   2015-04-21 00:42:00
要找目前登錄的使用者要用useridentity喔
作者: whocant (BalaBala)   2015-04-21 00:45:00
有設auth的話,就$id = Yii::$app->user->identity->id;如果你用advance template,到common/models/user.php看
作者: MOONRAKER (㊣牛鶴鰻毛人)   2015-04-21 03:49:00
OHNO 回訊息竟然誤貼到上面去了 XO
作者: kamihane (也無風雨也無晴)   2015-04-21 10:25:00
xD 我昨天先跳過這個地方了 (遮臉,做起東西XD其他東西
作者: ImNot5566 (❺❺❻❻)   2015-04-21 11:14:00
當前user id你那樣取沒錯阿,拿不到id要檢查是否有登入Yii::$app->user->getId();
作者: kamihane (也無風雨也無晴)   2015-04-21 13:35:00
情況很怪中ORZ忘了說xD我解決了~謝謝大家的回應xD

Links booklink

Contact Us: admin [ a t ] ucptt.com