Yii Framework Inconnu Propriété D'Exception
Je sais que cela peut sembler trivial, mais je ne peux vraiment pas comprendre. Je commence à développer une application de base de données à l'aide de Yii Framework et MySQL. J'ai essayé de suivre le simple tutoriel de base :
http://www.yiiframework.com/doc-2.0/guide-start-databases.html
mais j'ai utilisé mon propre table "Supermarchés".
J'obtiens cette erreur:
Propriété inconnue – yii\base\UnknownPropertyException
L'obtention de propriété inconnue: app\models\Supermarchés::nom
Il est évident que la méthode get ("nom") est à l'origine de cette erreur, mais je ne sais pas comment résoudre ce problème.
C'est mon code:
...models/supermarkets.php:
<?php
namespace app\models;
use yii\db\ActiveRecord;
class Supermarkets extends ActiveRecord
{
}
...controllers/SupermarketsController.php:
<?php
namespace app\controllers;
use yii\web\Controller;
use yii\data\Pagination;
use app\models\Supermarkets;
class SupermarketsController extends Controller
{
public function actionIndex()
{
$query = Supermarkets::find();
$pagination = new Pagination([
'defaultPageSize' => 5,
'totalCount' => $query->count(),
]);
$supermarkets = $query->orderBy('name')
->offset($pagination->offset)
->limit($pagination->limit)
->all();
return $this->render('index', [
'supermarkets' => $supermarkets,
'pagination' => $pagination,
]);
}
}
...views/Supermarkets/index.php:
<?php
use yii\helpers\Html;
use yii\widgets\LinkPager;
?>
<h1>Supermarkets</h1>
<ul>
<?php foreach ($supermarkets as $supermarket): ?>
<li>
<?= $supermarket->name?>
<?= $supermarket->location ?>
<?= $supermarket->telephone ?>
<?= $supermarket->fax ?>
<?= $supermarket->website ?>
</li>
<?php endforeach; ?>
</ul>
<?= LinkPager::widget(['pagination' => $pagination]) ?>
Supermarchés.db:
CREATE TABLE IF NOT EXISTS `supermarkets` (
`Name` varchar(71) NOT NULL,
`Location` varchar(191) DEFAULT NULL,
`Telephone` varchar(68) DEFAULT NULL,
`Fax` varchar(29) DEFAULT NULL,
`Website` varchar(24) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Des suggestions s'il vous plaît?
Supermarkets
?Pourriez-vous montrer la table db qui correspondent à des Supermarchés de l'entité?
J'ai édité ma question et ajouté le code de la table sql.
Les Variables en PHP sont sensibles à la casse. Essayez de changer toutes les occurrences de
name
à Name
dans votre code PHP et voir si l'erreur persiste.
OriginalL'auteur user3640056 | 2015-02-19
Vous devez vous connecter pour publier un commentaire.
Peut-être vous perdre dans le modèle
Supermarkets
:Si vous ne définissez la méthode par défaut à la table-nom sera
supermarkets
. Parce que dansyii\db\ActiveRecord
ensemble:MODIFIER
Utilisation de supprimer à partir de votre modèle
Et l'utilisation
Ou de la meilleure façon. Utiliser votre code. Et le changement de colonnes -> set de petites première lettre. Comme ça
Voir, j'ai modifier la réponse
Merci 🙂 il a travaillé!
OriginalL'auteur vitalik_74