有没有办法将这个查询转换成Laravel eloquent格式?
SELECT TEMP.A, COUNT(*) AS Total FROM
(SELECT A FROM TABLE WHERE B='something' GROUP BY C)
AS TEMP GROUP BY TEMP.A
我在这里尝试做的是根据C在某些where子句中的不同记录来获取A的计数。
subselect语句也是一个很有说服力的对象,它由用户在筛选器上的输入构建而成,以获得C输出的独特记录。我尝试这样做,假设subselect eloquent对象是$query
$query2-&
我有一个在Laravel 5.3控制器中使用Raw SQL的运行脚本,我发现它很慢并且不安全(作为Raw )。有没有办法让它更有效率,并将其转换为eloquent或Query Builder for Laravel? 代码如下&谢谢! SELECT machine_code, machine_name
FROM factory_equipment
WHERE machine_code NOT IN
(
SELECT distinct(machine_code)
FROM echecklist_data
WHE
我对拉威尔有点问题。我想用eloquent显示百分比,但返回空值
这是我的控制器
$group_categories = Proyek::with(['modul' => function($query){
$query->select(DB::raw('((select count(*) from modul where status = 0 and deleted_at IS NULL) /
(select count(*) from modul where deleted_at IS N
我上过这门课
<?php
namespace App\Models\Tables;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Query\Builder;
use Illuminate\Support\Facades\DB;
class ZipCode extends Model
{
protected $table = 'zip';
public $timestamps = false;
protected $fillable = [
我尝试在Laravle eloquent中使用以下mysql子句: SELECT * FROM pages
INNER JOIN page_translations as pt
ON pages.id = pt.page_id
WHERE NOT (page_id IN (93) AND locale IN ('de', 'en')); 然而,我不能实现它,因为“哪里不是”,相反,只在没有问题的地方使用它。 所以我走了这么远: Page::join('page_translations as pt', 'pages.id', &
我被MySQL的嵌套select查询的Laravel Eloquent关系卡住了。我的查询是这样的。
SELECT
*,
GROUP_CONCAT(p.facility) AS facility
FROM
(SELECT
`proposals`.*,
`proposals`.`desc` AS `pending`,
`proposals`.`Date` AS `date`,
`pl`.`type` AS `facility`,
`ps`.`id` AS `proposalStatusId`,
`ps`.`status` AS `pro
我使用Eloquent编写了以下查询:
Contact::select(DB::raw("DATE_FORMAT(DATE(`created_at`),'%b %d') as date"))
->addSelect(DB::raw("`created_at`"))
->addSelect(DB::raw("COUNT(*) as `count`"))
这是一个示例查询。这是为MySQL准备的。
select
sub_query.corporations_owned_id,
corporations_owned.corp_name,
sub_query.counts
from corporations_owned
INNER JOIN
(
select
corporations_owned_id,
COUNT(user_id) as counts
from corporations_owned_user
group by corporation
因此,我试图在Laravel5.1中创建一个全局范围,但是继续获取以下错误Trait 'Eloquent\Scopes\DependentTypeTrait' not found。
这是我的代码:
App\Models\Eloquent\Scopes\DependentTypeTrait.php:
<?php namespace App\Models\Eloquent\Scopes;
trait DependentTypeTrait {
/**
* Boot the Active Events trait for a model.
*
我有一个全球范围设置在Laravel5.1,这是良好的工作。然而,在我的一些页面上,我使用的是MySQL joins,使用的是雄辩的构建器。这将导致一个不明确的错误:
Column 'cust_id' in where clause is ambiguous
我不知道如何避免这个问题。我知道我可以使用子查询代替,但没有其他解决方案吗?
这是我的作用域文件:
<?php
namespace App\Scopes;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Builde
我正在尝试将这个SQl查询转换为QueryBuilder,但我做不到。
SELECT a.id, a.category_name, cat.Count
FROM `categories` a
LEFT OUTER JOIN (
SELECT `categories`.`category_parent` , COUNT(*) AS Count
FROM `categories`
GROUP BY category_parent
)
cat ON a.id = cat.category_parent
WHERE a.category_parent = 1
例如:
DB::t
下午好。我的控制台上有一个小问题,用Laravel5.0创建一个与两个表的关系。
这是我的产品迁移表:
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateProductsTable extends Migration {
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
我需要一些查询生成器来获得这样的结果:
select
A.`idalbum`, A.`title_en` as `title`,
A.`desc_en` as `description`, A.`cover` as `cover`,
(SELECT COUNT(idgallery) AS gambar FROM gallery WHERE cate='1' AND albumid=A.idalbum) as gambar,
(SELECT COUNT(idgallery) AS videos FROM gallery WHERE cate='2' AND a
我有这种类型的查询,我想将其转换为Laravel eloquent查询,而不必进行行查询或DB::select。这就是行查询的外观
Where (user_id = '$from' OR to = '$from') AND (user_id = '$to' OR to = '$to')
我如何在eloquent中做到这一点?到目前为止,我刚刚完成了
return $query->where('user_id', $from)->orWhere('to', $from)->get()
我正在尝试编写一个“作用域”,将左连接添加到我的查询中。
示例用法:
$bookings = Booking::where('bookings.company_id','=',Auth::user()->company_id)
->withGuid();
我已经让它工作了,但是我已经硬编码了类名和表名:
GuidScope.php
<?php
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Query\JoinClause;
class GuidSc
我试着在Eloquent和Laravel中找到一种优雅的方式来表达
select * from UserTable where Age between X and Y
在Eloquent中有between运算符吗(我找不到它)。
到目前为止,我得到的最接近的结果是将我的查询链接起来,如下所示
$query->where(age, '>=', $ageFrom)
->where(age, '<=', $ageTo);
我还遇到了whereRaw,它看起来还不错
$query->whereRaw('age BETWE
我正在使用Laravel5.1,并且使用trait和scope建立了一个多租户数据库,如下所示。如何添加这样的内容,以便所有insert查询也可以注入cust_id参数?
范围:
<?php
namespace App\Scopes;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\ScopeInterface;
use App\Customers;
use DB, Session;
class Mul
我正在尝试使用Eloquent创建类似的东西。但是,我在使用or子句时遇到了问题。
SELECT * FROM table WHERE column1 = 1 AND column2 = 2 AND (column3 LIKE $search_term.'%' OR column4 LIKE $search_term.'%') ORDER BY column1;
这就是我所拥有的:
$query = DB::table('table')
->where('column1', '=', 1)
谁能告诉我Laravel 5等效查询(eloquent或query builder )用于以下查询--
select * from questions where id NOT in ( select question_id from answers where student_id=5 ) AND exam_id=4
我可以使用以下代码一次在一个表中搜索任何列
<?php
namespace App;
use App\Services\Markdowner;
use Illuminate\Database\Eloquent\Model;
use Carbon\Carbon;
class Post extends Model
{
protected $dates = ['published_at'];
protected $fillable = [
'title', 'subtitle', 'content_raw',
好的,我需要在下面用eloquent或Laravel创建一个查询。我只是不确定我该如何创建这样的东西:
select * from
(select * from Bulk
where Login = 'moga' and ApptDate='2015-02-25'
order by FormatTime asc) as A
group by Name
这个查询将在数据库中作为一个原始查询运行得很好,我只是不确定如何使用query helper或eloquent来完成这个查询。
如何使用Eloquent检查字段是否不为空?
我尝试过Model::where('sent_at', 'IS NOT', DB::raw('null'))->...,但它将IS NOT作为绑定而不是比较。
以下是DB::getQueryLog()对此的描述:
'query' => string 'select * from my_table where sent_at = ? and profile_id in (?, ?) order by created_at desc' (length=101
在我的Laravel应用程序中,我有一个包含start_date和end_date属性的订阅模型。我创建了两个查询范围,scopeActive和scopeFuture,以查找活动订阅和未来订阅(分别)。
我想知道如何在OR上下文中使用这两个作用域构建查询,以便找到任何活动的或未来的订阅。
订阅模型
/**
* Scope a query to only include active subscriptions.
*
* @param \Illuminate\Database\Eloquent\Builder $query
* @return \Illuminate\Database\E
我需要用Eloquent QueryBuilder复制这个查询: select * from table_name
where type = 'custom_type'
and not
(
(topable_type = 'Car' and topable_id = 1)
or
(topable_type = 'Car' and topable_id = 2)
) 问题出在and not部件上。据我所知,Laravel不支持"whereNot“功能。 编辑:代码尝试: $deleteQuery = Item::where('
我有一张很简单的桌子,和拉拉4有关联:
foods table
id
name
food_category_id
food_categories table
id
name
以下是我的两位模特:
//models/Food.php
class Food extends Eloquent {
public function food_category()
{
return $this->belongsTo('FoodCategory');
}
}
//models/FoodCategory.