如何在laravel php内连接表

如何在laravel php内连接表

问题描述:

I have this query which is

SELECT * FROM books b 
INNER JOIN categories c ON b.category_id = c.id 
WHERE c.category_name = 'Comics'

thus is passed by parameter

SELECT * FROM books b 
INNER JOIN categories c ON b.category_id = c.id 
WHERE c.category_name = ?

I tried in Laravel like this

writer::join('categories','categories.id','=','writers.category_id')
  ->where('categories.category_name','Comics')
  ->get();

And with parameter

writer::join('categories','categories.id','=','writers.category_id')
  ->where(['categories.category_name' => $cat])
  ->get();

I didn't get any data in Laravel! Is there any mistake I am doing?

我有这个查询 p>

  SELECT * FROM books  b 
INNER JOIN类别c ON b.category_id = c.id 
WHERE c.category_name ='漫画'
  code>  pre> 
 
 

因此通过参数传递 p> \ n

  SELECT * FROM books b 
INNER JOIN类别c ON b.category_id = c.id 
WHERE c.category_name =?
  code>  pre> 
 
 

我在Laravel中试过这样的 p>

  writer :: join('categories','categories.id','=','writers.category_id')
  - &gt  ; where('categories.category_name','漫画')
  - > get(); 
  code>  pre> 
 
 

并带参数 p>

  writer :: join('categories','categories.id','=','writers.category_id')
  - > where(['categories.category_name'=> $ cat]  )
  - > get(); 
  code>  pre> 
 
 

我没有在Laravel中获得任何数据! 我有什么错误吗? p> div>

Try this instead:

writer::join('categories','categories.id','=','writers.category_id')
->where([
  ['categories.category_name', '=', $cat]
])->get();

or

writer::join('categories','categories.id','=','writers.category_id')
->where('categories.category_name', $cat)
->get();