我正面临多形关系中的问题,我无法在哪里工作.基本上我有一个"where"条件,我想申请.关系代码正常工作以返回相关模型,但一旦应用whereHas它就会返回错误.
下面是代码
订单类:
class Order extends Model
{
// function to return orders
public static function getAllOrders()
{
return $orders = Order::with('part.pcategory')->whereHas('part', function ($query)
{
$query->where('cat_id',4);
})->get();
}
// the relation
public function part()
{
return $this->morphTo(null,'department_short_code','part_stock_number','stock_number', 'dep_short_code');
}
}
Run Code Online (Sandbox Code Playgroud)
SFD零件类:
class sfd_part extends Model
{
public function orders()
{
return $this->morphMany('App\Order','part','department_short_code','part_stock_number');
}
public function pcategory()
{
return $this->belongsTo('App\Pcategories','cat_id', 'category_id');
}
}
Run Code Online (Sandbox Code Playgroud)
当我调用getAllOrders()时,它会给出以下错误
SQLSTATE [42S22]:未找到列:1054'where子句'中的未知列'cat_id'(SQL:选择count(*)作为
orders存在的聚合(select*fromordersaslaravel_reserved_0wherelaravel_reserved_0.id=laravel_reserved_0.part_stock_number和cat_id …
php foreign-keys relational-database laravel-query-builder laravel-5.6
我正在使用php + mysql开发一个约会中心Web应用程序.我目前要做的是在没有第三方推送器且没有使用jQuery SetInterval AJAX请求的情况下,在从Web服务器到客户端/用户保龄球的预约时发送通知.我认为SetInterval和AJAX是一种糟糕的方法,因为客户端和服务器之间的流量太大了.
如何在不使用SetInterval轮询服务器的情况下实现通知?
我正在使用HTML,CSS,PHP和JS进行多语言网站,所以根据用户输入,文本可能是英语或法语,因为我从数据库中提取数据.
在CSS中是否有一种方法可以自动检查文本是否为英文,因此它将应用嵌入的英文字体,如果在法国,它将应用嵌入的法国字体.
如果我以前知道语言,我会将一些CSS类应用于文本HTML元素,例如<p class="en"></p>或<p class="fr"></p>.但我不知道语言是来自DB的文本.
php ×3
css ×1
css3 ×1
foreign-keys ×1
html ×1
javascript ×1
jquery ×1
laravel-5.6 ×1
real-time ×1