Laravel - Eloquent子查询选择独立于模型场景

时间:2015-10-20 05:29:06

标签: php mysql laravel laravel-4

我想在laravel的雄辩的orm中使用一个子查询,并且有很多例子,但我的场景有些不同。 Laravel雄辩的专注于模型(每个表都有一个模型),但我的子查询是这样的

  $scope.viewArticle = function (event, data) {

         // Do your work here
         .......

         // After that set href
         jQuery(event.target).attr('href', 'view/article');


  };

所以基本上我为什么要这样做?我想检查/获取电话为123456或电子邮件的所有行是example@example.com 除了 ID为 12 即可。我应该采用什么方法?

1 个答案:

答案 0 :(得分:1)

您正在编写原始SQL查询,这与Laravel的Eloquent ORM / Query Builder相关性很小。

如果您要选择电话号码为123456或电子邮件为example@example.com的所有行,则以下语句为Eloquent版本。除了id为12的行外:

MyModel::where('phone', '12345')->orWhere('email', 'example@example.com')->whereNotIn( 'id', [12])->get();

在旁注中,whereNotIn接受一个数组作为参数,因此您也可以写:

whereNotIn( 'id', [1, 2, 3])