如何用laravel术语编写PHP SQL查询

如何用laravel术语编写PHP SQL查询,php,sql,laravel,laravel-4,Php,Sql,Laravel,Laravel 4,我将如何用laravel的术语编写这个php mysql查询。我检查了文档,在Laravel4.2中找不到SQL的IF或AS文档 这是php查询: query("SELECT IF(friends.sender = ".$_SESSION["user"].", friends.recipient, friends.sender) AS user_id FROM friends WHERE friends.status=1 AND friends.sender = ".$_SESSION["use

我将如何用laravel的术语编写这个php mysql查询。我检查了文档,在Laravel4.2中找不到SQL的IF或AS文档

这是php查询:

query("SELECT IF(friends.sender = ".$_SESSION["user"].", friends.recipient, friends.sender) AS user_id FROM friends WHERE friends.status=1 AND friends.sender = ".$_SESSION["user"]." OR friends.recipient = ".$_SESSION["user"]." AND friends.status=1 ")
我想把它格式化成这样

@foreach(Friends::if("sender","=",Auth::user()->id)->as("user_id")->where("status","=",1)->where("sender","=",Auth::user()->id)->orWhere("recipient","=",Auth::user()->id)->where()->get() as $user_friends)

您可以使用查询生成器或Eloquent来实现这一点

使用雄辩的语言,此代码将添加到控制器中

public function getFriends($arg1, $arg2)
{
  $friends = Frind::where('filed-name', 'operator', $arg1)->where('filed-name', 'operator', $arg2)->all();
  return view('/view-name', ['friends' => $friends];
}
或者使用查询生成器

public function getFriends($arg1, $arg2)
{
  $friends = DB::table('friends')->select('friends.*')->where('filed-name', 'operator', $arg1)->where('filed-name', 'operator', $arg2)->get();
  return view('/view-name', ['friends' => $friends];
}
您可以阅读有关查询生成器和雄辩的更多信息