序文:
Laravelの関連クエリの原理は、まずモデル自体のデータと関連モデルのデータを見つけてから、定義された主キーIDと外部キーIDを介して関連クエリを実行することです。
したがって、選択時のモデル自身のデータの必須フィールドには、関連付けを定義する主キー ID (またはカスタム関連フィールド) が必要です。同様に、選択時の関連モデルのデータの必須フィールドにも、定義時の外部キーが必要です。アソシエーション ID (またはカスタム関連フィールド)。
したがって、次の書き方ではユーザーフィールドとアバターフィールドをクエリできません。
// 获取评论列表数据,同时返回用户信息和头像信息
$comments = Comments::with(['user' => function($query) {
$query->with(['avatar' => function($aq) {
$aq->select(['url']);
}])->select(['nickname']);
}])->paginate($request->input('pagesize',10));
以下に置き換えられます
// 获取评论列表数据,同时返回用户信息和头像信息
$comments = Comments::with(['user' => function($query) {
$query->with(['avatar' => function($aq) {
$aq->select(['id','url']);
}])->select(['id','nickname','avatar_id']);
}])->paginate($request->input('pagesize',10));