我正在尝试执行一个查询,该查询对一个表上的两个列或另一个表上的两个列进行筛选。到目前为止,这就是我所拥有的:
// In my controller
return $registry = Registry::search($first_name, $last_name)->get();
// In my model
public function user()
{
return $this->belongsTo('User');
}
public function scopeSearch($query, $first_name, $last_name)
正如标题所示,我需要从字符串中获取X个字符,但是HTML并不包括在计数中。
示例字符串
Some <i>t</i>est <b>string</b> test
9个字符将输出
Some <i>t</i>est
13个字符将输出
Some <i>t</i>est <b>str
19个字符将输出
Some <i>t</i>est <b>string</b> te
我不太确定该从什么地方出发
(.*?){0,10}
另外,是否有一种方法可以使HT
我有一个全球范围设置在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
我正在使用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
我正在提取雄辩的模块来单独使用它,但是我可以访问QueryBuilder函数。除了那个人他们都在工作。
当我运行一个count()和一个getPaginationCount()时,count()返回正确的值,但是getPaginationCount()只是返回照明\数据库\雄辩\Builder对象,就好像我没有命令要运行一个查询一样。但是,我可以在查询日志中看到两个查询,奇怪的是,它们都运行相同的查询。
require 'vendor/autoload.php';
use Illuminate\Database\Capsule\Manager as Capsule;
下面代码中的闭包使得这段代码很难测试。我怎样才能继续急切地加载这些项目并保持完全的可测试性?
public function scopeWithCompanyPreferences(Builder $builder)
{
return $builder->with([
'companies' => function ($query) {
$query->with('companies');
$query->with('preferenc
我正在尝试将以下SQL放入Laravel Query Builder中:
select * from t_1 where Datum like '2015-08-06 %' and Datum >= all(select Datum from t_1 where Datum like '2015-08-06 %');
我不知道如何使用Laravel Query Builder来做到这一点。
有谁能给我一些建议吗?
致敬,MasseElch
laravel应用编程接口文档:Illuminate\Database\Eloquent\Builder::first()描述:
Model|Builder|null first(array $columns = array('*'))
Execute the query and get the first result.
Parameters
array $columns
Return Value
Model|Builder|null
我不能理解返回值的含义,在哪种情况下它会返回Model,在哪种情况下它会返回Builder?
我有一个模型-让我们称之为Parent。
每个Parent都可以有许多孩子。
public function children(): HasMany
{
return $this->hasMany(Child::class, 'parent_id', 'id');
}
我想为Parent创建一个名为"active“的范围。
我的要求如下:
父级在至少有一个子节点时是活动的。
我已经做过多次局部作用域,并且我知道在Parent.php中我可以执行如下操作:
public function scopeActive($query)
{
我将这个解决方案用于Laravel中的两个主键:
谁能告诉我如何也覆盖雄辩的“增量”方法来处理重复的键?
Laravel框架5.8.35
我正在将'CompositePrimaryKey‘特性包含到模型中,比如...
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use App\Models\Traits\CompositePrimaryKey;
class Devices extends Model
{
public $table = 'devices';
protect
在我的Laravel 5.2应用程序中,有以下模型层次结构:
//Model.php:
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
abstract class MyModel extends Model {
public function getAllColumnsNames() {
...
}
//Article.php
namespace App\Models;
class Article extends MyModel {
...
}
然后在控制器中,有一个函数获取
我正在尝试熟悉eloquent,并且我一直在尝试一些全局查询范围,但在它对关系的影响方面,我并没有取得太多成功。
我有两个模型;产品和类别,每个模型都添加了一些全局查询范围。
产品:
use productConditions;
protected $table = 'product';
public $timestamps = false;
private $websiteDetails;
public function __construct(){
parent::__construct();
$this->websiteDetails = se
因此,我试图在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.
*