这里我有两张桌子请看看
第一个表annotate
有部门详细信息,第二个表department
有位置详细信息。为了获得location_id的相应值,我得到的代码就像这样
locations
答案 0 :(得分:2)
除了你应该使用适当的数据库函数之外 - 这应该可行。
foreach ($detail as $s)
{
$arrData = [];
foreach ($locations as $location)
{
if (!empty($s->location_id))
{
if (in_array($location->id, explode(',',$s->location_id)))
{
$arrData[] = $location->location_name;
}
}
}
if (!empty($arrData)) $s->Location = implode(', ', $arrData);
}
print_r($detail);
答案 1 :(得分:0)
这里的解决方案是您需要创建第三个const SinglePost = Vue.component('single-post-template', {
props:['posts'],
template: `<div class="cell medium-8">
<div class="grid-x grid-margin-x">
<p>Single Post here</p>
</div>
</div>`
});
表。您的location_id不是非常适合数据库,因为它必须处理字段中的每个元素。想象一下,如果你需要在location_id字段中添加另一个元素?这变得很困难。
您需要创建一个类似于:
的表格 const routes = [
{
path: '/',
component: HomePostList,
props: true
},
{
path: '/post/:postId',
name: 'post',
component: SinglePost
}
];
const router = new VueRouter({
routes
});
new Vue({
el: '#app',
router,
data() {
return{
posts: [],
searchTerm:'',
searchPosts:[],
currentRoute: window.location.pathname
}
},
created (){
var $this = this;
axios
.get(apiRoot + 'posts?_embed')
.then(function (response) {
$this.posts = response.data;
}
)
},
methods: {
loadMorePosts: function(){
var $this = this;
axios
.get(apiRoot + 'posts?_embed')
.then(function (response) {
$this.posts = response.data;
}
)
},
},
computed:{
},
});
然后,您可以使用更好的查询来获取所需的数据。