我有下表。
地点
id | postcode | suburb | state
另一张桌子:
公告
id | name | location - Matches to 'id' in the first table
首先,我有一个代码,用于执行第一表中的位置结果并将其保存到变量中。接下来,我需要找到哪些分类与变量中的结果匹配。这是我到目前为止所做的,并不确定如何做到这一点。
此代码在视图上运行:
$locations = Location::where('location', '=', $_GET['location']); (From the URL)
此代码需要在'分类广告中找到结果。与已分类的地理位置ID匹配的表格,其中$位置变量中的 ANY ID
foreach($locations as $loc)
{
foreach($classifieds as $classi)
{
if($loc->id == $classi->location)
{
}
}
}
像这样的^,除了这段代码不起作用
用一个例子进一步解释:
地点数组变量包含:
98212 | 4220 | BURLEIGH HEADS | QLD(身份证,邮政编码,郊区,州)
98213 | 4221 | BURLEIGH WATERS | QLD(身份证,邮政编码,郊区,州)
这是(Classified :: where(' location,' =',$ _GET [' location') - > get( ))
分类表有:
1 | Red Bike | 98212 (id, name, location)
2 | Red Bike | 98213 (id, name, location)
3 | Red Bike | 98213 (id, name, location)
查找位置列在变量
中的分类广告答案 0 :(得分:1)
使用Collection
方法pluck()
方法lists()
或$locationIds = $locations->pluck(id);
将所有位置ID提取到一个数组中(取决于版本):
whereIn()
并使用Eloquents $classfields = Classified::whereIn('location', $locationIds)->get();
方法:
$classfields = Classified::whereIn('location', $locations->pluck(id))->get();
所有这些都可以是一个单行:
#include <stdio.h>
#include <string.h>
int main(void) {
char recbuf[7] = {'a', 'b', 'c', '\0', 'd', 'e', '\0'};
int recbuf_size = 7;
int j = 0;
char* p = recbuf;
while(j < recbuf_size)
{
printf("%s\n", p); // print the string found
// Here you could copy the string if needed, e.g.
// strcpy(mySavedStrings[stringCount++], p);
int t = strlen(p); // get the length of the string just printed
p += t + 1; // move to next string - add 1 to include string termination
j += t + 1; // remember how far we are
}
return 0;
}