746019546

1229 经验值

有个user表,user表关联tariff表(一对多反向),tariff表关联tags表(多对多关联), 每个表都有一个enable 字段,关联查询的时候,查询关联的数据,条件是每个表的enable字段为1的数据

现有查询语句如下:

$results = request()->user()->load(['tariff' => function($query){
            $query->has('tags')->with(['tags' => function($query){
                $query->has('children')->with(['children' => function($query){
                    $query->has('videos')->with(['videos' => function($query){
                        $query->where('enable', 1);
                    }]);
                }])->where('enable', 1);
            }])->where('enable', 1);
        }]);

嵌套太多了,如何优雅的编写?求赐教

这样定义了之后, created 执行的也是 recordActivity 方法, updated 执行的也是 recordActivity 方法,
可能我描述问题有问题,我想 careated 执行 created 定义的. updated 执行 updated定义的,
实现 created, updated 执行不同的方法

知识浅薄,有待提升啊,能不能高抬贵手做一个created, updated 在同一个trait文件里面呢使用呢?

添加了以后, updated在模型定义吗?

    public static function updated($model)
    {
        // TODO: Implement recordTest() method.
        dump($model);
    }

dump($model)的结果是

Closure {#213 ▼
  class: "App\Tag"
  parameters: {▶}
  file: "C:\laravel\NewCainiao\app\RecordTest.php"
  line: "17 to 19"
}

但还是不会用啊.不知道怎么更新其他的

意思就是,用laravel去定时任务去读取邮箱里面的邮件(比如QQ邮箱),如果有相应的邮件,对邮件进行读信.

来回看了几遍,恨基础知识知道得太少,如果需要使用 updating, updated 这些,在trait里面怎么操作?
是不是写在

protected static function getModelEvents()
    {
        if(isset(static::$recordEvents)){
            return static::$recordEvents;
        }

        return ['created', 'updated'];
    }

那这个如何调用不同的方法呢

最后有个项目需求是去读取邮箱的邮件,看了很多都是都是发送邮件,有没有这方面的资料可以介绍一下呢?

按照教程做,提示:

(1/1) FatalThrowableError
Call to a member function getClientOriginalExtension() on null

public function uploadImage(Request $request)
{
    $file = $request->image;
    $filename = md5(time().str_random(5)) .'.'. $file->getClientOriginalExtension();

    $file->move(public_path('image'), $filename);
    return ['url'=>'/image/'.$filename];

}

找到问题了,原因是<my-upload field="img"></my-upload> img改成image就可以了