Laravel отношения между тремя таблицами с двумя внешними ключами - PullRequest
0 голосов
/ 13 июня 2019

Мне нужно показать информацию из таблицы checkout_pages с двумя внешними ключами, которые необходимо проверить.

  • users

    • id
  • продукты

    • id
    • user_id
  • checkout_pages

    • id
    • user_id
    • product_id

Продукт имеет владельца (products.user_id), checkout_pages имеет отношения между пользователямии продукты.Мне нужно показать информацию о checkout_pages для конкретного пользователя и конкретного продукта (не обязательно владельца продукта).

Я создаю некоторый код, но он только проверяет checkout_pages.product_id, и я не могу заставить его проверитьcheckout_pages.user_id.

Модель Product

    public function checkout_pages(){
        return $this->hasMany('App\CheckoutPage');
    }

ProductController

 public function index()
    {
        $products = Product::all()->where('user_id', \Auth::user()->id);
        return view('products.index', compact('products'));
    }

Редактировать

  • Пользователь можету меня есть несколько страниц checkout_pages, но разных продуктов
  • У меня есть код, который я знаю сейчас, я знаю, что он не проверяет таблицу checkout_pages, но, просматривая документацию Laravel, я не смог найти ответ
  • Мне нужно получить эту информацию из checkout_pages в ProductController.

1 Ответ

0 голосов
/ 13 июня 2019

ProductController

public function index()
    {
        $products = Product::where('user_id', \Auth::user()->id)->get();
        return view('products.index', compact('products'));
    }

с вашей точки зрения blade.php файл

@foreach($products as $product)

    @foreach($product->checkout_pages()->where('user_id', Auth::user()->id)->get() as $checkoutPage)
        {{ $checkoutPage }}
    @endforeach

@endforeach

, поэтому $checkoutPage удерживайте каждый checkout_pages для $product от каждого продуктов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...