【发布时间】:2018-05-21 11:47:52
【问题描述】:
我有两张桌子:
表A,表B。
TableA 有以下列:
id、用户名、密码、类型、TableB_id
TableB 有以下列:
id、类型、some_column、some_other_column
现在我需要根据 TableB 的 id 和 'type' 使用 TableB 的 TableA 的记录。
我试图在我的模型中定义类似的东西
TableA 模型:
$this->belongsTo('TableB', [
'foreignKey' => 'TableB_id',
]);
TableB 模型:
$this->belongsTo('TableA', [
'foreignKey' => 'id',
]);
当我打印 SQL 查询时,它会为我提供以下结果:
开启 TableA.id = (TableB.id)
但我需要这个:
开启 TableA.TableB_id = (TableB.id)
================== 问题2 ==================
我正在尝试在 Laravel
中动态获取以下查询select * from
productswhere (categorylike '%categoryOne%' ORcategorylike '%categoryTwo%') and (brandlike '%brandOne%' ORbrandlike '%brandTwo ')
我的列在数组中。我试过这样:
$query = DB::table('products');
foreach($all as $category => $subCategory){
foreach($subCategory as $key => $value){
$val = '%' .$key .'%';
$users->orWhere($category, 'like', $val);
}
}
此查询的问题在于,由于 orWhere,它正在生成具有 OR 的所有条件。
有谁知道如何在 Laravel 中获取复杂的 AND、OR 条件查询?
【问题讨论】:
-
哦,你需要雇一个程序员。或者至少尝试您自己的代码并在此处发布搜索帮助
-
“我需要 jQuery 代码”。 Stackoverflow 不是免费的代码编写服务
-
@Roy,我是 Stackoverflow 的新手,不知道如何提出一个好问题。现在堆栈已阻止我的帐户提出进一步的问题。我会尝试修改这个问题。让我们看看禁令是否被取消。无论如何感谢您的回复。
标签: laravel-5 join cakephp-3.0