Yii Framework Unbekannte Eigenschaft Ausnahme
Ich weiß, das mag trivial, aber ich kann wirklich nicht herausfinden. Ich fange an, eine Datenbank-Anwendung entwickeln mit Yii-Framework und MySQL. Ich habe versucht, nach der einfachen basic-tutorial :
http://www.yiiframework.com/doc-2.0/guide-start-databases.html
aber ich habe meine eigene Tabelle "Supermärkte".
Ich bin immer diese Fehlermeldung:
Unbekannte Eigenschaft – yii\base\UnknownPropertyException
Erste unbekannte Eigenschaft: app\Modelle\Supermärkte::name
Es ist offensichtlich, dass die Methode get ('name') diesen Fehler verursacht, aber ich weiß nicht, wie dieses Problem zu beheben.
Dies ist mein 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]) ?>
Supermärkte.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;
Irgendwelche Vorschläge, bitte?
Supermarkets
?Sie konnten zeigen db-Tabelle entsprechen Supermärkte Entität?
Ich bearbeitet meine Frage und fügte hinzu, der code für die sql-Tabelle.
Variablen in PHP sind case-Sensitiv. Ändern Sie alle vorkommen von
name
zu Name
in Ihrem PHP-code und sehen, ob der Fehler weiterhin besteht.InformationsquelleAutor user3640056 | 2015-02-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Werden können, verlieren Sie im Modell
Supermarkets
:Wenn Sie keine set-Methode, Standard-Tabellen-name wird
supermarkets
. Weil inyii\db\ActiveRecord
set:BEARBEITEN
Verwenden, löschen Sie diese von Ihrem Modell
Und verwenden
Oder besser Weg. Verwenden Sie Ihre ersten code. Und Spalten ändern -> set klein erste Brief. Wie
Siehe, ich Editiere Antwort
Vielen Dank 🙂 es hat geklappt!
InformationsquelleAutor vitalik_74