【问题标题】:Laravel 5.2 : DB Records fetch and check id in another tableLaravel 5.2:数据库记录在另一个表中获取并检查 id
【发布时间】:2016-11-27 21:30:39
【问题描述】:

假设我有 tableAtableB 的模型,

我想要的是从tableA 获取记录,并在tableB 中检查tableAid's

假设tableAtitle 列,我想要的是显示所有标题。

如果tableAidtableB 中,则显示一个复选标记,否则在标题的开头显示十字标记。

找不到出路。

【问题讨论】:

  • 你应用了外键约束吗?
  • 是的,应用了外键约束。
  • 你试过这样的:Table1::with(["table2"]);
  • 是的:$rewards = Reward::all(); foreach ($rewards as $reward){ $list = User::with('unlocks')->where('id','=', Auth::user()->id)->first(); } 关系是:public function unlocks() { return $this->hasMany('App\RewardUnlocked','user_id'); }
  • 尝试不使用 where : User::with('unlocks')->first();

标签: php laravel login eloquent


【解决方案1】:

为什么不使用连接?

TableA::query()
    ->select("tableA.*, tableB.id as checked")
    ->leftJoin("tableB","tableA.id","=","tableB.id")
    ->get();

所以如果表B中没有idchecked将为空。

【讨论】:

  • 顺便说一句,如果您只想显示选中或未选中,那您为什么不在tableA 中有一个列呢?
猜你喜欢
  • 2019-08-19
  • 1970-01-01
  • 2021-12-08
  • 2016-09-19
  • 1970-01-01
  • 2012-02-10
  • 1970-01-01
  • 1970-01-01
  • 2021-10-31
相关资源
最近更新 更多