我想把这个mysql查询改成larvel语法。mysql内部连接
select u.name , c.title , c.content from users u inner join communities c on u.id = c.user_id where u.name like '%name%'
8yparm6h1#
DB::table('tableName') ->join('communities AS c','c.user_id','=','tableName.id') ->where('tableName.name','LIKE','name') ->select('tableName.name','c.title','c.content') ->get();
我希望这对你有帮助。谢谢
3gtaxfhh2#
不知道你所说的拉维尔语法是什么意思。但我认为你在想拉维尔的雄辩或查询生成器:您的查询:
查询生成器:
DB::table('users') ->select(['name', 'c.title', 'c.content']) ->join('communities as c', 'c.user_id', '=', 'users.id') ->where('name', 'like', '%' . $request->name . '%') ->get()
雄辩(如果你有这些模型):
User::with('communities') ->where('name', 'like', '%' . $request->name . '%') ->get();
注:用户模型应具有社区关系:
public function communities(){ return $this->hasMany(Community::class); }
e3bfsja23#
可以使用laravel查询生成器。添加 use DB; 在你的控制器的顶端。当你想得到数据的时候就用这个。
use DB;
$users = DB::table('users') ->join('communities', 'users.id', '=', 'communities.user_id') ->select('users.name , communities.title , communities.content') ->where('users.name','LIKE','%name%') ->get();
but5z9lq4#
尝试此查询:
DB::table('users') ->select(['users.name', 'communities.title', 'communities.content']) ->join('communities', 'communities.user_id', '=', 'users.id') ->where('users.name', 'like', '%' . $request->name . '%') ->get();
4条答案
按热度按时间8yparm6h1#
我希望这对你有帮助。谢谢
3gtaxfhh2#
不知道你所说的拉维尔语法是什么意思。但我认为你在想拉维尔的雄辩或查询生成器:
您的查询:
查询生成器:
雄辩(如果你有这些模型):
注:用户模型应具有社区关系:
e3bfsja23#
可以使用laravel查询生成器。添加
use DB;
在你的控制器的顶端。当你想得到数据的时候就用这个。
but5z9lq4#
尝试此查询: