可以通过以下代码完成相同的工作:
header('Content-Type:image/jpeg');
readfile('a.jpg');
Run Code Online (Sandbox Code Playgroud)
但是现在我对Yii2感到很困惑 \yii\web\Response.
我困惑的是这样的:
创建一个控制器和动作来提供图片
见下文
class ServerController extends \yii\web\Controller
{
public function actionIndex($name)
{
// how to response
}
}
Run Code Online (Sandbox Code Playgroud)访问 http://example.com/index.php?r=server/index&name=foo.jpg
谢谢你的回答!
当然,我可以Yii::$app->db->createCommand($sql)->query(),但如果我想用一个ActiveRecord::find()->where($conditions)来完成这项工作呢?
console command就像./yii hello/world.
我正在使用yii-app-basic.
我想要的不是在dir中创建控制台命令commands/而是在module.
我用了Yii 2.
要明确:
也许以下的sql可以解释我想要的东西:
SELECT
c.content,
t.publish_status
FROM
content c, task t
WHERE
c.content LIKE '%keywordInContent%' AND
t.publish_status = 1 AND
c.id = t.content_id
ORDER BY
updated_at
LIMIT 20;
Run Code Online (Sandbox Code Playgroud)
这是我的控制器代码:
public function actionIndex()
{
$searchModel = new TaskSearch;
$dataProvider = $searchModel->search(Yii::$app->getRequest()->get());
return $this->render('index', [
'dataProvider' => $dataProvider,
'searchModel' => $searchModel,
]);
}
Run Code Online (Sandbox Code Playgroud)
和搜索模型代码:
public function search($params)
{
$query = Task::find()->trashed(Task::TRASHED_NO);
$dataProvider = new ActiveDataProvider([
'query' => $query,
]);
if (!($this->load($params) && $this->validate())) …Run Code Online (Sandbox Code Playgroud) I have an is_active(tiny-int) field in user table.
Also I define some meanings for is_active:
code in params.php
return [
'enumData' => [
'is_active' => [1 => '?', 0 => '×'],
]
];
Run Code Online (Sandbox Code Playgroud)
code in user\index.php
<?= GridView::widget([
'dataProvider' => $dataProvider,
'columns' => [
[
'attribute' => 'is_active',
'format' => 'raw',
'value' => function ($model) {
return Yii::$app->params['enumData']['is_active'][$model->is_active]
},
],
],
]); ?>
Run Code Online (Sandbox Code Playgroud)
Want I want is like this in user\index.php
<?= GridView::widget([
'dataProvider' => $dataProvider,
'columns' => …Run Code Online (Sandbox Code Playgroud)