hi guys i wanna add an image inside a grid view. i am using the following code in my view file
<?php
use yii\helpers\Html;
use yii\grid\GridView;
use yii\helpers\Url;
/* @var $this yii\web\View */
/* @var $searchModel app\models\InvoicesSearch */
/* @var $dataProvider yii\data\ActiveDataProvider */
$this->title = Yii::t(‘app’, ‘Invoices’);
$this->params[‘breadcrumbs’][] = $this->title;
?>
<div class="invoices-index">
<h1> Invoices details</h1>
<?= GridView::widget([
'dataProvider' => $dataProvider,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
'item_id',
'item.item_name',
'item.item_price',
'item_quantity',
'total',
],
[
'label'=>'Image',
'format'=>'raw',
'value' => function($data){
$url = "http://localhost/~user/ims/web/invoice.jpg";
return Html::img($url,['alt'=>'yii']);
}
],
]); ?>
</div>
i’m getting Unknown Property – yii\base\UnknownPropertyException
below is my error description
Unknown Property – yii\base\UnknownPropertyException
Setting unknown property: yii\grid\GridView::0
1. in /home/user/public_html/ims/vendor/yiisoft/yii2/base/Component.php at line 197
188189190191192193194195196197198199200201202203204205206
$behavior->$name = $value;
return;
}
}
}
if (method_exists($this, 'get' . $name)) {
throw new InvalidCallException('Setting read-only property: ' . get_class($this) . '::' . $name);
} else {
throw new UnknownPropertyException('Setting unknown property: ' . get_class($this) . '::' . $name);
}
}
/**
* Checks if a property value is null.
* This method will check in the following order and act accordingly:
*
* - a property defined by a setter: return whether the property value is null
* - a property of a behavior: return whether the property value is null
2. in /home/user/public_html/ims/vendor/yiisoft/yii2/BaseYii.php – yii\base\Component::__set('0', ['label' => 'Image', 'format' => 'raw', 'value' => Closure]) at line 518
3. in /home/user/public_html/ims/vendor/yiisoft/yii2/base/Object.php – yii\BaseYii::configure(yii\grid\GridView, ['dataProvider' => yii\data\ActiveDataProvider, 'columns' => [['class' => 'yii\grid\SerialColumn'], 'item_id', 'item.item_name', 'item.item_price', ...], 0 => ['label' => 'Image', 'format' => 'raw', 'value' => Closure]]) at line 105
4. yii\base\Object::__construct(['dataProvider' => yii\data\ActiveDataProvider, 'columns' => [['class' => 'yii\grid\SerialColumn'], 'item_id', 'item.item_name', 'item.item_price', ...], 0 => ['label' => 'Image', 'format' => 'raw', 'value' => Closure]])
5. in /home/user/public_html/ims/vendor/yiisoft/yii2/di/Container.php – ReflectionClass::newInstanceArgs([['dataProvider' => yii\data\ActiveDataProvider, 'columns' => [['class' => 'yii\grid\SerialColumn'], 'item_id', 'item.item_name', 'item.item_price', ...], 0 => ['label' => 'Image', 'format' => 'raw', 'value' => Closure]]]) at line 372
6. in /home/user/public_html/ims/vendor/yiisoft/yii2/di/Container.php – yii\di\Container::build('yii\grid\GridView', [], ['dataProvider' => yii\data\ActiveDataProvider, 'columns' => [['class' => 'yii\grid\SerialColumn'], 'item_id', 'item.item_name', 'item.item_price', ...], 0 => ['label' => 'Image', 'format' => 'raw', 'value' => Closure]]) at line 151
7. in /home/user/public_html/ims/vendor/yiisoft/yii2/BaseYii.php – yii\di\Container::get('yii\grid\GridView', [], ['dataProvider' => yii\data\ActiveDataProvider, 'columns' => [['class' => 'yii\grid\SerialColumn'], 'item_id', 'item.item_name', 'item.item_price', ...], 0 => ['label' => 'Image', 'format' => 'raw', 'value' => Closure]]) at line 344
8. in /home/user/public_html/ims/vendor/yiisoft/yii2/base/Widget.php – yii\BaseYii::createObject(['dataProvider' => yii\data\ActiveDataProvider, 'columns' => [['class' => 'yii\grid\SerialColumn'], 'item_id', 'item.item_name', 'item.item_price', ...], 0 => ['label' => 'Image', 'format' => 'raw', 'value' => Closure], 'class' => 'yii\grid\GridView']) at line 95
9. in /home/user/public_html/ims/views/admin/invoice_details.php – yii\base\Widget::widget(['dataProvider' => yii\data\ActiveDataProvider, 'columns' => [['class' => 'yii\grid\SerialColumn'], 'item_id', 'item.item_name', 'item.item_price', ...], 0 => ['label' => 'Image', 'format' => 'raw', 'value' => Closure]]) at line 37
3132333435363738
$url = "http://localhost/~user/ims/web/invoice.jpg";
return Html::img($url,['alt'=>'yii']);
}
],
]); ?>
</div>
10. in /home/user/public_html/ims/vendor/yiisoft/yii2/base/View.php – require('/home/user/public_html/ims/views...') at line 325
11. in /home/user/public_html/ims/vendor/yiisoft/yii2/base/View.php – yii\base\View::renderPhpFile('/home/user/public_html/ims/views...', ['searchModel' => app\models\InvoicedetailsSearch, 'id' => '7', 'dataProvider' => yii\data\ActiveDataProvider]) at line 247
12. in /home/user/public_html/ims/vendor/yiisoft/yii2/base/View.php – yii\base\View::renderFile('/home/user/public_html/ims/views...', ['searchModel' => app\models\InvoicedetailsSearch, 'id' => '7', 'dataProvider' => yii\data\ActiveDataProvider], app\controllers\AdminController) at line 149
13. in /home/user/public_html/ims/vendor/yiisoft/yii2/base/Controller.php – yii\base\View::render('invoice_details', ['searchModel' => app\models\InvoicedetailsSearch, 'id' => '7', 'dataProvider' => yii\data\ActiveDataProvider], app\controllers\AdminController) at line 367
14. in /home/user/public_html/ims/controllers/AdminController.php – yii\base\Controller::render('invoice_details', ['searchModel' => app\models\InvoicedetailsSearch, 'id' => '7', 'dataProvider' => yii\data\ActiveDataProvider]) at line 213
207208209210211212213214215216217218219
$searchModel=new InvoicedetailsSearch();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams,$id);
return $this->render('invoice_details', [
'searchModel' => $searchModel,
'id'=>$id,
'dataProvider' => $dataProvider,
]);
}
public function actionCustomer_invoices($id)
{
$this->layout='adminHome';
$searchModel = new InvoicesSearch();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams, $id);
15. app\controllers\AdminController::actionInvoice_details('7')
16. in /home/user/public_html/ims/vendor/yiisoft/yii2/base/InlineAction.php – call_user_func_array([app\controllers\AdminController, 'actionInvoice_details'], ['7']) at line 55
17. in /home/user/public_html/ims/vendor/yiisoft/yii2/base/Controller.php – yii\base\InlineAction::runWithParams(['r' => 'admin/invoice_details', 'id' => '7']) at line 151
18. in /home/user/public_html/ims/vendor/yiisoft/yii2/base/Module.php – yii\base\Controller::runAction('invoice_details', ['r' => 'admin/invoice_details', 'id' => '7']) at line 455
19. in /home/user/public_html/ims/vendor/yiisoft/yii2/web/Application.php – yii\base\Module::runAction('admin/invoice_details', ['r' => 'admin/invoice_details', 'id' => '7']) at line 83
20. in /home/user/public_html/ims/vendor/yiisoft/yii2/base/Application.php – yii\web\Application::handleRequest(yii\web\Request) at line 375
21. in /home/user/public_html/ims/web/index.php – yii\base\Application::run() at line 12
6789101112
require(__DIR__ . '/../vendor/autoload.php');
require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php');
$config = require(__DIR__ . '/../config/web.php');
(new yii\web\Application($config))->run();
need some help,
thanks