I have 2 tables called movies and movie_dates.
In movie_dates table these are the fields,
id | movie_id | year | month
My Question: I'm trying to get data from the movies table where year is greater than or equal to 1 and month is greater than or equal to 2 in the movie_dates table using movie_id column.
What I tried so far,
$months = 2;
$years = 1;
return DB::table('movie_dates')
->join('movies', 'movie_dates.movie_id', '=', 'movies.id')
->where(['movie_dates.year', '>=', $years], ['movie_dates.month', '>=', $months])
->get();
Error I'm getting : SQLSTATE[42S22]: Column not found: 1054 Unknown column
Really appreciate it if somebody could help me. Thanks have a nice day.
CodePudding user response:
Use array on where
$months = 2;
$years = 1;
return DB::table('movie_dates')
->join('movies', 'movie_dates.movie_id', '=', 'movies.id')
->where([['movie_dates.year', '>=', $years], ['movie_dates.month', '>=', $months]])
->get();
CodePudding user response:
use multi where condition or use [] array for it
$months = 2;
$years = 1;
return DB::table('movie_dates')
->join('movies', 'movie_dates.movie_id', '=', 'movies.id')
->where([['movie_dates.year', '>=', $years], ['movie_dates.month', '>=', $months]])
->get();
OR
$months = 2;
$years = 1;
return DB::table('movie_dates')
->join('movies', 'movie_dates.movie_id', '=', 'movies.id')
->where('movie_dates.year', '>=', $years)
->where('movie_dates.month', '>=', $months)
->get();
