作者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/cn.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