Ich versuche, über eine Klasse auf ein Modell zuzugreifen. Ich versuche, dies auf einer Laravel 5.5-Installation zu erreichen. Die Ordnerstruktur ist der Standard, außer dass ich einen Ordner in App/Libraries habe, der meine benutzerdefinierten Klassen enthält.Zugreifen auf Modell über benutzerdefinierte Klasse
Mein Problem ist, dass ich den unten angegebenen Fehler erhalte, wenn ich versuche, über meine Klasse auf ein Modell zuzugreifen. Wahrscheinlich ein Namespace-Problem, aber ich kann es einfach nicht finden. Es sucht nach dem falschen Ort.
Der Fehler
Class 'App \ Bibliotheken \ App \ AccountsModel' ist nicht
gefunden
Unten ist mein Code.
app/Bibliotheken/Account.php
<?php
namespace App\Libraries;
use App\AccountsModel;
class Account {
public $accountNum;
public $accountDescription;
public $isMainAccount;
public $parentAccount;
public $createTime;
public $updatedTime;
public function getInfo($accountNum)
{
$account = App\AccountsModel::where('accountNumber', $accountNum)->take(1)->get(); //Error coming up due to this line
//return $account;
//return $this;
}
}
?>
app \ AccountsModel.php
<?php
namespace App\AccountsModel;
use Illuminate\Database\Eloquent\Model;
class AccountsModel extends Model
{
protected $table = 'accounts';
}
app/Http/Controller/AccountsController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Libraries\Account;
class AccountsController extends Controller
{
public function create()
{
$account = new Account;
var_dump($account->getInfo("1-1000"));
}
}
Ich bin selbstladende das Modell auf composer.json wie unten. Jede Eingabe auf der Unterseite wird ebenfalls geschätzt. Ich habe versucht, den Klassennamen auf einem Konstrukt im Modell zu wiederholen, ohne Echo, also schätze ich, dass ich das auch falsch lade.
Letztendlich versuche ich auf das Modell über meine benutzerdefinierte Konto-Klasse zuzugreifen, wenn ich den Fehler erhalte. Jede Hilfe wird sehr geschätzt.
versuchen, 'Namespace App \ Libraries;' in 'Namespace App ändern; ' –
Habe es getan. Jetzt bekomme ich "Class 'App \ Libraries \ Account' not found". Aber der Klassenname Account.php ist dort in dem erwähnten Verzeichnis. Irgendeine Idee? –
Namespace entfernen App \ AccountsModel; und benutze Namespace App; –