Laravel 5.6 Laravel 5.6一对多关系中的错误

Laravel 5.6 Laravel 5.6一对多关系中的错误,laravel-5.6,Laravel 5.6,我的一对多关系就像一个苏拉有很多个阿雅 苏拉模型如下所示 Sura.php <?php namespace App\Model; use Illuminate\Database\Eloquent\Model; class Sura extends Model { public function ayahs() { return $this->hasMany('App\Model\Quran', 'surah_id', '_id'); }

我的一对多关系就像一个苏拉有很多个阿雅

苏拉模型如下所示

Sura.php

<?php

namespace App\Model;

use Illuminate\Database\Eloquent\Model;

class Sura extends Model
{
    public function ayahs()
    {
        return $this->hasMany('App\Model\Quran', 'surah_id', '_id');
    }
}
<?php

namespace App\Model;

use Illuminate\Database\Eloquent\Model;

class Quran extends Model
{

}
<?php

namespace App\Http\Controllers;

use App\Model\Sura;
use Illuminate\Http\Request;

class SuraController extends Controller
{
    public function show(Sura $sura)
    {
        return Sura::find($sura)->ayahs();
    }
}
Route::apiResource('/suras', 'SuraController');
苏拉控制器如下所示

SuraController.php

<?php

namespace App\Model;

use Illuminate\Database\Eloquent\Model;

class Sura extends Model
{
    public function ayahs()
    {
        return $this->hasMany('App\Model\Quran', 'surah_id', '_id');
    }
}
<?php

namespace App\Model;

use Illuminate\Database\Eloquent\Model;

class Quran extends Model
{

}
<?php

namespace App\Http\Controllers;

use App\Model\Sura;
use Illuminate\Http\Request;

class SuraController extends Controller
{
    public function show(Sura $sura)
    {
        return Sura::find($sura)->ayahs();
    }
}
Route::apiResource('/suras', 'SuraController');
我得到的错误如下

我正在尝试使用下面的URL进行浏览

http://127.0.0.1:8000/api/suras/2
SuraController.php

<?php

namespace App\Http\Controllers;

use App\Model\Sura;
use Illuminate\Http\Request;

class SuraController extends Controller
{
    public function show($id)
    {
        return Sura::find($id)->ayahs();
    }
}

我认为find需要一个id,而不是一个模型实例
returnapp\model\Sura::find($Sura)->ayahs像这样尝试..使用您的解决方案后,我发现以下错误。如果你使用show(Sura$Sura),那么你必须在你的URL上输入一个对象而不是一个id。在使用你的解决方案后,我发现下面的错误。