简体   繁体   English

如何在Laravel PHP中内部联接表

[英]How to inner join tables in 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 我这样在拉拉维(Laravel)试过

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! 我没有在Laravel中获得任何数据! Is there any mistake I am doing? 我有什么错误吗?

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();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM