谁一开始就是大神?

PHP 第28页

PHP

怎么使用access-token登陆[2.0]

HarryJames阅读(61)

1。怎么使用access-token登录
2。一般使用场景是什么

User方法里面有个longin_by_access_token的方法,你去看看,另外,一般在webserver里面使用,具体参照yii\filters\auth\HttpBearerAuth类

yii2.0rest接口的问题[2.0]

fationJames阅读(47)

basic版本建了modules,按照手册配置好config建好控制器如。
访问http://webroot/home/user 能查到所有数据
但是我想取一条数据http://webroot/home/user/1 为什么就是404
求解答?
下面为config/web.php里的路由规则

        'urlManager' => [
            'enablePrettyUrl' => true,
            'showScriptName' => false,
            'rules' => [
                ['class' => 'yii\rest\UrlRule', 'controller' => 'home/user'],
            ]
        ]

第一,你的controller继承的是不是yii\rest\ActiveController;这个类
第二,你要确定你是否有’home/user’这个action
第三,在你这个action里面实现任何你想要作的事情
用GET请求
http://localhost/home/user/lists/1 ?

Yii::$app->version获取不到[2.0]

littletom阅读(56)

调用Yii::$app->version时,报错:

exception ‘yii\base\UnknownPropertyException’ with message ‘Getting unknown property: yii\web\Application::version’ in D:\www\work\api\v1\vendor\yiisoft\yii2\base\Component.php:147
Stack trace:
#0 D:\www\work\api\v1\vendor\yiisoft\yii2\di\ServiceLocator.php(75): yii\base\Component->get(‘version’)
#1 D:\www\work\api\v1\mobile\modules\v1\controllers\SharesController.php(143): yii\di\ServiceLocator->
get(‘version’)
#2 [internal function]: mobile\modules\v1\controllers\SharesController->actionRobotShares()
#3 D:\www\work\api\v1\vendor\yiisoft\yii2\base\InlineAction.php(57): call_user_func_array(Array, Array)
#4 D:\www\work\api\v1\common\component\Controller.php(154): yii\base\InlineAction->runWithParams(Array)
#5 D:\www\work\api\v1\common\component\Module.php(454): yii\base\Controller->runAction(‘robot_shares’, Array)
#6 D:\www\work\api\v1\vendor\yiisoft\yii2\web\Application.php(102): yii\base\Module->runAction(‘v1/shares/robot…’, Array)
#7 D:\www\work\api\v1\vendor\yiisoft\yii2\base\Application.php(380): yii\web\Application->handleRequest(Object(yii\web\Request))
#8 D:\www\work\api\v1\mobile\web\index.php(21): yii\base\Application->run()
#9 {main}

你初始框架的时候下面就有个获取版本的,你不会没看到

DetailView中的关联属性如何在匿名函数中获取其值?[2.0]

CandyLion阅读(61)

    <?= DetailView::widget([
        'model' => $model,
        'attributes' => [
            [
                'attribute'=> 'user.nickname',
                'label'=>'Creater',
                'value'=>function($model){
                    return $model->'user.nickname'." ".$model->createdAt;
                }
            ],

$model->’user.nickname’,这个正确写法应该是怎样的?现在报错!谢谢

你把$model传过去就行了

'value' => $model->user->nickname." ".$model->createdAt;

前提:$model这个类需要定义user的相关属性(采用hasOne定义)
参见:http://www.yiichina.com/doc/guide/2.0/db-active-record
什么啊,这是,闻所未闻。
源码上看起来是不支持匿名函数的,会报一个’The attribute configuration must be an array.’错误
在你的model 类里面定义一个public 变量

Model的rules中DateValidator的验证问题[2.0]

CandyKeo阅读(56)

date验证还要配置什么吗?
model中:
[[‘create_time’], ‘date’,’format’=>’yyyy/MM/dd’],
view中:
<?= $form->field($model, ‘create_time’)->textInput() ?>
截图:
火狐截图_2017-04-12T03-12-56.759Z.png
如图,create_time没有生成前端js验证。

你可以去看看这个验证器 yii\validators\DateValidator是不会生成前端验证的js,所以前端不能验证,因为这个类没有实现,clientValidateAttribute这个方法,只有实现了这个放的验证器才会生成前端验证

把backend复制为api访问报错[2.0]

BeeLion阅读(53)

An Error occurred while handling another error:
exception 'yii\base\InvalidRouteException' with message 'Unable to resolve the request "site/error".' in G:\LocalDev\api.bto.com\systems\vendor\yiisoft\yii2\base\Module.php:532
Stack trace:
#0 G:\LocalDev\api.bto.com\systems\vendor\yiisoft\yii2\web\ErrorHandler.php(95): yii\base\Module->runAction('site/error')
#1 G:\LocalDev\api.bto.com\systems\vendor\yiisoft\yii2\base\ErrorHandler.php(111): yii\web\ErrorHandler->renderException(Object(yii\web\NotFoundHttpException))
#2 [internal function]: yii\base\ErrorHandler->handleException(Object(yii\web\NotFoundHttpException))
#3 {main}
Previous exception:
exception 'yii\web\NotFoundHttpException' with message 'Page not found.' in G:\LocalDev\api.bto.com\systems\vendor\yiisoft\yii2\web\Request.php:193
Stack trace:
#0 G:\LocalDev\api.bto.com\systems\vendor\yiisoft\yii2\web\Application.php(82): yii\web\Request->resolve()
#1 G:\LocalDev\api.bto.com\systems\vendor\yiisoft\yii2\base\Application.php(380): yii\web\Application->handleRequest(Object(yii\web\Request))
#2 G:\LocalDev\api.bto.com\wwwroot\index.php(31): yii\base\Application->run()
#3 {main}

在网上搜索了一些资料
修改了common/config/bootstrap.php里的别名还是一样

Yii::setAlias('@common', dirname(__DIR__));
Yii::setAlias('@api', dirname(dirname(__DIR__)) . '/api');
Yii::setAlias('@console', dirname(dirname(__DIR__)) . '/console');

单从报错内容来说,好想是没有 api/controllers/sitecontroller
应该是 namespace 和 config/main.php 的问题,
如果你是直接把 backend 改名为 api(就是已经不存在backend文件夹)
你需要把api/controllers and api/models 下面所有的 namespace 从 backend/xxxx/xxxx 改为 api/xxx/xxx
同时需要把api/config/main.php 下面的 defaultController 从 backend/xxx/xxx 改为 api/xxx/xxx
最好的解决办法,尝试搜索,在api文件包内搜索 backend 这个keyword
祝好运。

union查询子句怎么用?

kentom阅读(51)

有两个相同结构的数据表,怎么用union查询字句合并两个表的数据,在一个页面显示。

1.首先获得一个Query 对象,$query,然后生成一个需要union的Query对象$unionQuery,
$query->union = [
[
],
];
就可以了
具体参考,yii\db\QueryBuilder的buildUnion方法

负载均衡下assets资源丢失的问题[2.0]

LvyEagle阅读(56)

上了负载均衡后出现assets下的资源在A服务器,但是访问到B服务器的问题,导致了js等无法找到,有什么办法解决吗?

一般的解决方案是,静态资源如css,js放cdn,图片等放oss
应该是需要配置你的负载均衡服务器,自动从A copy 到B吧
AppAsset 文件 配置路径不知道行不行。可以试试!
资源服务器
静态资源部能单独一台机么,cdn不行么
做负载均衡,资源文件一般单独放一个服务器,除了代码之外,相同的东西通通放一台机子

两个表关联查询,有个中间表,hasMany怎么实现?[2.0]

lovelyEagle阅读(54)

  • news表有 news_id
  • tag表有 tag_id
  • news_tag 是中间表 有个 news_idtag_id
    app\Models\News.php有个getTag方法如下怎么实现一对多关联查询
    public function getTag()
      {
         //这里面怎么关联hasMany、、、、、、
      }
    

    求解答

在News(AR类)中要写个getter:
不能一次就查出结果,我的方法是:
现在 news_tag 模型中获取标签的id组合成一个数组
然后返回这个数组,再去标签中使用in获取到标签的信息,再返回出来。
你这里是三张表,而不是两张表
public function getSku(){
今天我研究了一下,我来分享下:
三张表:
三个表模型生成,其中在文章ArticleModel 中增加:
我要获取 文章id为 1 对应的所有标签;
结果如下:

checkboxList默认选中的问题[2.0]

FionaFox阅读(52)

 <?= $form->field($tnModel,'tag_id[]')->checkboxList($tagRe)->label('文章标签') ?>

想问下checkbox默认选中的参数怎么写呢?例如下图的box选中

微信截图_20170413175456.png

<?= $form->field($tnModel,’tag_id[]’)->checkboxList($tagRe, [‘value’=>’xxx’])->label(‘文章标签’) ?>
$tnModel->tag_id =1 直接这样

登录

找回密码

注册