我有一個Laravel 5模型帳戶它實現Interface
。Laravel模型實現接口
我已經實現了Interface
的所有方法,但是當我運行代碼時,Laravel抱怨模型沒有實現接口。
錯誤下面
Account.php(型號)
<?php
namespace Abc\Accounts\Models;
use Abc\Accounts\Contracts\Accountlnterface;
use Illuminate\Database\Eloquent\Model;
class Account extends Model implements Accountlnterface {
....
在我控制器我這樣做
$account = Account::where('something', 'value')->first();
這將返回模型就好了。
問題在於,當我將它傳遞到另一個類控制器
$result = new Transaction($account, 5.00);
交易文件
public function __construct(Accountlnterface $account, float $value = 0.00)
{
$this->account = $account;
交易構造正在尋找接口然而laravel被抱怨的帳戶沒有實現它。
我不知道這段代碼有什麼問題。從Laravel
Type error: Argument 1 passed to Abc....\Transaction::__construct() must be an instance of Abc\Accounts\Components\Accountlnterface, instance of Tymr\Plugins\Accounts\Models\Account given.
模型加載後直接
錯誤我跑這個代碼
if($account instanceof AccountInterface)
echo "working";
else
echo "fails";
它肯定會失敗。
您是否已將AccountInterface綁定到服務容器中的帳戶?你需要指導Laravel如何解析你的接口的實例;) –