Voyagerを使い始めましたが、関係の解決に問題があります。別のテーブルとの多対多の関係を含むデータベース エントリを表示または読み取ろうとすると、例外が発生します。
m 対 n の関係で関連付けられた2 つのテーブル、ツアー、アクティビティ、および中間テーブルactivity_tourがあります。docsに記載されているように、ボイジャー用のテーブルを用意しました。
テーブル ツアー:
id | タイトル | いくつかのその他のもの | id
が文字列
であるアクティビティ。
テーブル アクティビティ
ID | いくつかのその他のもの | tours
idも文字列です。BREAD-builder メニューに、
{
"relationship": {
"key": "id",
"label": "title"
}
}
活動テーブルのツアー列に。
Activity-Model には、関係を解決するための次のメソッドが含まれています
public function tours(){
return $this->belongsToMany(Tour::class, 'activity_tour');
}
テーブル activity_tour
アクティビティ ID | tour_id
特定のアクティビティ エントリを表示するたびに、次のエラーが表示されます。例外を引き起こすコード部分はここにあります(対応するファイル: vendor/tcg/voyager/resources/views/bread/read.blade.php - 51 行目から)。
しかし、アクティビティを編集したいときはいつでも、関連するすべてのツアーが読み込まれ、エラーなしで正しく表示されます。
バージョン
- データベース: 10.2.3-MariaDB 自作
- ララベル: 5.4
- ボイジャー: v0.11.10