How to access the fields in the table in many-to-many intermediate tables? - laravel

How to access the fields in the table in many-to-many intermediate tables?
What kind of eloqunet builder is required to access the isAlternative field in the table named category_product?
Category table
categories
- id
- name
Product table
products
- id
- name
- price
CategoryProduct table
category_product
- category_id
- product_id
- isAlternative

Related

Laravel 5.2 - Can You Create A Relationship Between A Pivot Table And A Table It's Not Pivoting For?

I have a pivot table called user_store. It's used to establish a many to many relationship between the users table and the stores table and looks something like this:
user_id - int
store_id - int
user_age_range - string
I have another table called user_memberships. It's columns look like:
user_id - int
store_id - int
membership_cost - decimal
membership_expiration - date
I need to establish a relationship between the user_memberships table and the user_store pivot table using the user_id and store_id columns present in both tables.
How would I do this when the user_store table does not have its own model (since it's a pivot table)?

laravel eloquent ORM Joint multiple table without Foreign key And Multiple model

I have two tables. One is user and the other is category, I have written this Eloquent ORM query to retrieves data from category
$category = Category::where(['status'=>'active'])->orderBy('id','asc')->get();
In category table here has a field called user_id. I want to join the user table and want to retrieve the user name where category table 'user_id' == user table 'id'.
How can I do this in Laravel eloquent ORM without Foreign key And Multiple models.

When do we consider snowflaking a star schema?

In the below dimensional model, all the dimension table follows the star schema except the prod table, which is snowflaked and has prod_sub table as a child table. What is the strategical point to consider snowflaking a star schema?
Sales Table - Fact Table
Prod_id (fk)
Promo_id (fk)
store_id (fk)
Promo Table - Dimension Table
promo_id (pk)
Store Table - Dimension Table
store_id (pk)
Product Table - Dimension Table
Prod_id (pk)
prod_class_id (FK)
Prod_name
Prod_brand
Prod_sub Table- Dimension Table (snow flaked)
prod_class_id,
prod_class
prod_sub_class
prod_family
According to Kimball : Star Schema is the best way of designing a data model for reporting, You will get the best performance and also flexibility using such a model.
So no need to snowflake it.
Then your Product Table Dimension Table becomes :
Product Table - Dimension Table
Prod_id (pk)
Prod_name
Prod_brand
prod_class
prod_sub_class
prod_family

Lavavel Eloquent: Relationships with 5 table

I have an app consisting of these tables
users
id
name
user_location
id
user_id
cities_id
cities
id
state_id
country_id
name
states
id
country_id
name
countries
id
name
Then how to get relationship this five table?
you have to create a many-to-many relationship between tables and use pivot table to show the relationship between table rows using foreignId

Eloquent relationships laravel

I have 3 tables
categories
id
name
categories_product
id
category_id
product_id
and a product table
products
id
name
I want products based on catergori_id, how kan i do that with laravel Eloquent?
Simple as this:
Product::whereCategori_id($category)->get();

Resources