我无法相信我从来没有这样做过,现在我意识到我实际上并不知道如何实现它。基本结构为Parent
hasMany
Child)
。我想定期查询没有Parent
条目的所有Child
条目并将其删除。
我认为这会从Parent::with('child')->where...->delete()
开始。但是我该如何完成呢?我是否需要使用DB::raw
代替?
如果您想进一步帮助我......我在Parent
模型isExpired()
中有一个功能。我真的只想删除isExpired()
为TRUE
的条目。
答案 0 :(得分:3)
您正在寻找doesntHave。这将为所有未参加儿童入学的家长提供帮助。并删除它们。
public function child()
{
return $this->hasMany('App\Child');
}
父模型中的关系:
@Override
public void onBindViewHolder(final MyAdapter.ViewHolder viewHolder, int position) {
viewHolder.view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Item item = items.get(viewHolder.position);
if(item.isSelect()){
item.setSelect(false);
} else {
item.setSelect(true);
}
items.set(viewHolder.position, item);
if(changeStatusListener != null){
changeStatusListener.onItemChangeListener(viewHolder.position, item);
}
notifyItemChanged(viewHolder.position);
}
});
try {
Item item= items.get(position);
if(item!= null){
viewHolder.name.setText(category.getItem());
viewHolder.imageView.setImageResource(category.getImage());
viewHolder.position = position;
if(item.isSelect()) {
viewHolder.view.setBackgroundColor(ContextCompat.getColor(mContext, R.color.colorPrimary));
}
else viewHolder.view.setBackgroundResource(R.drawable.item_selector);
}
} catch (Exception e){
e.printStackTrace();
}
}