我希望在Eloquent中有这样的查询: SELECT * FROM table WHERE status = 1 AND (type = 2 OR type = 3 OR type = 4) 我一直无法在Eloquent中找到一种简单的方法来做到这一点。如果我使用 Table::where('status', 1)->orWhere('type', 2)->orWhere('type', 3)... 这可以转化为: SELECT * FROM table WHERE status = 1 OR type = 2 OR type =
这是我的范围,apply()方法工作得很好。
use Illuminate\Database\Eloquent\ScopeInterface;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model;
use Carbon\Carbon;
class JobStatusScope implements ScopeInterface
{
/**
* Apply scope on the query.
*
* @param \Illuminate\Da
通过将以下代码片段添加到雄辩的模型中,我可以强制该模型在使用该模型进行的所有数据库调用中包含某些SQL约束:
public function newQuery($excludeDeleted = true)
{
// Make use of all functionalities of the "newQuery" method of the
// parent Eloquent class; and add constraints to that instance.
$sql = parent::newQuery($excludeDeleted);
我该如何用laravel进行类似的查询呢?
$GLOBALS['db']->query_while("SELECT * FROM games
WHERE id_gioco='".$id_gioco."' AND id_utente='".$USER['id']."'");
在laravel和Eloquent的文档中,我在query_while上找不到任何东西。
我试图在用户(模型)上创建一个与组模型的特殊关系。在我使用的模式中,组具有一个类型属性,即位掩码,其中每个位定义了组的特定特征。
例如,我们可能有一个组:
name: New York
type: 33554436 (1<<25 | 1<<24)
使用普通SQL,我可以通过查询获得感兴趣的组:
select g.* from foobar_group g where (type & 1<<25) != 0
为了方便起见,我希望在用户模型中定义这种关系。
<?php
class UserModel extends Illuminate\Dat
目前,在其中一个项目中,我们使用的是直接sql查询,因此决定删除它们并实现ORM,因此我们决定为此使用发光模型组件。由于我们是新来的,我对两个相互关联的模型之间的关系不太了解。
当前sql查询
select * from login as A, user_profile as B where A.user_id = B.login_id and A.user_id = $user_id
我创建了两个模型,一个是User扩展Illuminate\Database\Eloquent\Model,另一个是UserProfile扩展Illuminate\Database\Eloquent\Model。
我有两个表posts作为父表和'posts_tags‘作为子表,我想通过两个字段从post表中搜索和tag_id,以及如何在我们的查询中添加子表的搜索查询。
My Models Post.php
<?php
namespace App\Models\Posts;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
use HasFactory;
protected $t
尝试在eloquent中执行此查询
一个用户可以在多个团队中,但是我想生成一个不在特定团队中的用户列表。如果直接执行以下SQL查询,则可以工作,但希望通过将其转换为eloquent来使其更简洁
SELECT * FROM users LEFT JOIN team_members ON team_members.member_id = users.id WHERE NOT EXISTS ( SELECT * FROM team_members WHERE team_members.member_id = users.id AND team_members.team_id = $team_id )
步骤1:从表中获取最大set_id。set_id不是唯一的。
select max(set_id) from mytable where ver = 6;
# assume returns 3
步骤2:从set_id为max的表中获取结果:
select * from mytable where ver = 6 and set_id = 3;
# from step 1
步骤3:重构/嵌套select语句
select * from mytable where ver = 6 and set_id =
( select max(set_id) from mytable where v
我有一个基于COUNT列值的Server查询。
如下所示:
SELECT
[id],
COUNT(*) AS IdCount,
FROM
myTable
WHERE
DATEDIFF(day, [Time], GETDATE()) < 30
GROUP BY
[id]
我想在COUNT条件中添加WHERE结果的值。我怎么能这么做?
SELECT
[id],
COUNT(*) AS IdCount,
RANK() OVER (ORDER BY IdCount) CountRank
FROM
如何使用Eloquent编写以下或类似类型的查询?
SELECT * FROM a_table WHERE (a LIKE %keyword% OR b LIKE %keyword%) AND c = 1 AND d = 5
我不能通过链接where和or_where函数来以我想要的方式组合AND/OR。
我有以下SQL查询:
SELECT * from db.tableA WHERE field in (SELECT id FROM db.tableB where other_field = value);
我希望select from field where tableA在由子查询返回的值数组中。问题是:我怎样才能用eloquent做到这一点?我目前的解决方案(我认为非常丑陋)如下:
$a = \App\tableB::where("other_field", "=", $value)->select('id')->get();
$
在准备mysqli语句时,我得到了以下错误。
您的SQL语法有错误;请检查与您的MySQL服务器版本对应的手册,以获得使用“phone =?”、状态=?、“日期”之间的正确语法。然后呢?由id DESC限制下的订单?在第1行
mysqli准备的声明:
$stmt = $mysqli->prepare("SELECT id,role,fullname,phone,email,balance,status,parent, date_format(date,'%d-%m-%Y %h:%i:%s %p') AS date FROM users WHERE id =
到目前为止,我仍然无法区分WHERE子句和WHERE IN子句。例如,我有:
Query = mysqli($mysql_connect, "SELECT * From Customer Where CustomerID IN ('CU001', 'CU002', 'CU003')");
这和Query = mysql($mysql_connect, "SELECT * FROM Customer Where CustomerID = 'CU001' AND CustomerID= 'CU002
我实际上有这个更新,而且工作很完美,但是我想添加其他的地方:
$sql = "UPDATE users SET an = an + 20 WHERE name = '$name' ";
到这个
$sql = "UPDATE users SET an = an + 20 WHERE name = '$name' and WHERE age = '$age' ";
我需要这样做,并更新只有当2 WHERE是正确的。请帮帮忙。
如何将以下查询转换为Laravel 4 eloquent ORM?
select * from table where ((starttime <= ? and endtime >= ?) or (starttime <= ? and endtime >= ?) or (starttime >= ? and endtime <= ?))
用户可以互相阻止。一个用户可以阻止多个(其他)用户,一个用户可以被多个(其他)用户阻塞。在User模型中,我有这些多到多的关系:
/**
* Get the users that are blocked by $this user.
*
* @return \Illuminate\Database\Eloquent\Relations\BelongsToMany
*/
public function blockedUsers()
{
return $this->belongsToMany(User::class, 'ignore_lists', '
我有以下几点:
time_range = (1.month.ago.beginning_of_month..1.month.ago.end_of_month)
Comment.where(:created_at => time_range).count
如何使用如下语句添加到where子句:
.where("user_id is not in (?)",[user_ids]).
我如何将这两者结合起来呢?谢谢
我正在尝试编写一个查询,但如果存在搜索数据,则需要动态应用WHERE子句,否则在单个查询中跳过该部分。
Declare @search_text varchar(50)='', @start_date datetime, @end_date datetime;
If(@search_text = '')
begin
select * from Table1 where
CONVERT(VARCHAR(12), Mydate, 101) BETWEEN CONVERT(Date, @start_date) AND
CONVERT(Date,
假设我在mysql数据库中有事务表,我希望在3列引用、类别和状态上创建一个多列索引。我有一个请求,我正在尝试加速:Transaction.where(parent_ref: merchant_ref, kind: 'OFFER',status: 1),它执行以下SQL:
SELECT `merchant_transactions`.* FROM `merchant_transactions`
WHERE `merchant_transactions`.`parent_ref` = '1-0001'
AND `merchant_transactions`.`
我正在尝试删除一个表中所有在另一个表中没有对应ID的行。由于SQLite显然不支持删除操作中的连接,所以我尝试这样做:
DELETE FROM my_table WHERE my_id NOT IN (SELECT _id FROM my_table2);
但是,我显然不能使用rawQuery,因为它返回一个游标,所以我必须使用delete函数。我遇到了一些问题,使这个工作。下面是我正在尝试的查询:
mDb.delete("my_table", "my_id NOT IN ?", new String[]{"(SELECT _id FRO
我有一个包含两个子查询的insert查询:
INSERT INTO Work_Order (ID ,BRANCHID,BRANDID)
VALUES (66),
SELECT ID FROM Brands WHERE NAME = 'branch'
SELECT ID FROM Branches WHERE NAME = 'brand'
我知道这不是一个正确的语法,但我需要正确的语法,ID必须是66,BRANCHID、BRANDID是另一个表的外键