我正在尝试从页面分页链接,但它返回相同的链接,“where”不起作用...
控制器:
public function page_load_more($last_id, $pid) {
$page = Page::where('friendly_url', $pid)
->select('id', 'photo', 'friendly_url', 'name')
->with('ptag', 'get_following')
->with(['links' => function($query) use($last_id) {
$query->where('id', '<', $last_id);
}])
->with(['links.comments.user' => function($query) {
$query->select('id', 'name', 'lastname', 'photo', 'friendly_url');
}])->first();
return view('site.list.page.links', compact('page'));
}
JQuery的:
$(window).scroll(function () {
if ($(document).height() <= $(window).scrollTop() + $(window).height()) {
var isLoading = false;
var id = $('.link-shared:last-child').attr("rel");
var p_id = $(".feed-page-info").attr("rel");
if (isLoading === false) {
var isLoading = true;
$.ajax({
url: window.location.origin + "/ajax/page/load_more/" + id + '/' + p_id,
dataType: "HTML",
beforeSend: function () {
},
success: function (response) {
$('.page-feed-insert').append(response);
var isLoading = false;
}
});
}
}
});
链接显示:
1 2 3
加载更多时的链接:
1 2 3
答案 0 :(得分:0)
交换你的地方和条款并将你的with
合并为:
Page::with(['ptag', 'get_following'])->select(...)->where(...)
答案 1 :(得分:0)
如果您想根据关系条件(links.id&gt; $ last_id)限制结果,请尝试使用whereHas方法:
Page::where('friendly_url', $pid)
->select('id', 'photo', 'friendly_url', 'name')
->whereHas('links', function($query) use ($last_id) {
$query->where('links.id', '<', $last_id);
})
->with(['ptag', 'get_following', 'links.comments.user' => function($query) {
$query->select('id', 'name', 'lastname', 'photo', 'friendly_url');
}])->first();
答案 2 :(得分:0)
使用哪里有效。
在哪里不会包含数据透视表中的对象,但仍然会获得数据。
或者,如果您想申请关系,您可以使用(&#39; relation_name&#39;)或doest(&#39; relation_name&#39;)