这是我的advertisements
表:
这是我的works
表:
我想查找advertisements
表格中的数据,该表格已于12小时前点击过works
表格,add_id
列。
工作模式:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Work extends Model
{
}
广告模型:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Advertisement extends Model
{
//
}
控制器:
public function myadd()
{
$clicked_add = Work::where('user_id', Auth::user()->id)->where('created_at', '>=', Carbon::now()->subDay())->get();
$adds = Advertisement::orderBy('id', 'desc')->take(5)->get();
return View::make('pages.add', compact("adds","clicked_add"));
}
答案 0 :(得分:0)
首先,你必须在作品模型上设置belongsTo广告关系,而不是急切地用广告加载作品对象。 对于-i.e-:您的关系函数名称是可以像这样调用的工程模型上的广告。
$works=Works::with(['advertisements'=>function($query){
$query->where('update_time','=',\Carbon\Carbon new carbon()->subHours(12))
}])->get();
答案 1 :(得分:0)
获取过去12小时内点击过的广告。
(我假设一旦用户点击你的广告就会生成work.created_at)
试试这个
$works = Advertisement ::leftJoin('works ', 'works.add_id','=','advertisement.id')
->select('advertisement.*')
->where('works.created_at','>=',\Carbon\Carbon::now()->subHours(12))
->get();