【问题标题】:DB::table()-> select() ->where()->get(); LaravelDB::table()->select()->where()->get();拉拉维尔
【发布时间】:2018-10-18 10:01:50
【问题描述】:

我在这里尝试通过 id 从表中选择数据,但仅限于存在某些其他事物的地方。它只是不工作!我认为问题出在我的数据库查询中。它要么没有向我展示任何东西,要么只向我展示了第一本书。 我希望有人能帮助我,我真的什么都试过了!

在我尝试过的模型中:

public static function myWishlist(){
$id = Auth::id();

$book_id = DB::table('wishlist')->select('book_id')
        ->where('user_id' ,  '=' ,  $id)
        ->get();
    foreach ($book_id as $book){
    return Book::where('id', $book);

$book_id= Wishlist::select('book_id')
->where('user_id', $id)
->get()->all();

$book_id = DB::table('wishlist')
->where('user_id', $id)
->get('book_id');//->toArray();

$book_id = DB::table('wishlist')
->select('book_id')
->where('user_id', $id)->first();

}

如果能得到一些帮助,我会很高兴的!

【问题讨论】:

  • foreach ($book_id as $book){ return Book::where('id', $book);} 这尖叫声“代码气味”如此响亮,我的屏幕几乎破裂了。
  • 你对PHP缺乏基本的了解,请先回去一点或者看一些教程。你的代码没有意义,你上面的评论也没有意义。
  • 你到底想要什么?你现在有什么?你试过什么?当你尝试它时,你得到了什么结果?如果你能回答这个问题。有人帮忙会很容易。
  • 你能给出你有这段代码的完整函数吗?
  • @L.Lehmann 你永远不会从 for 循环内部返回东西。也许有一些非常低级的黑客可能有用,但这是一个优秀的程序员在他的职业生涯中可能会写三到四次的东西。您的代码大部分都可以工作,但它的可读性不是很好,很明显您刚刚开始编程。也许我对我的第一条评论反应过度了,对此感到抱歉,但是在尝试相对高级的东西(例如您的问题所涉及的内容)之前,请尝试获得良好的编程基础。

标签: database laravel


【解决方案1】:

试试这个:

$book_id = Wishlist::where('user_id', $id)->pluck('book_id');

return Book::whereIn('id',$book_id)->get();

【讨论】:

  • 我会试试的!谢谢
  • 当我这样做时,然后想用以下方法对其进行索引: $books = Wishlist::myWishlist()->paginate(20); return view('wishlistCRUD.index', compact('books')) ->with('i', ($request->input('page', 1) - 1) * 5);我收到错误:方法分页不存在。你能帮我解决这个问题吗?
  • 我不确定,但它是因为模型愿望清单上的 myWishlist() 函数不会从模型收集数据。请考虑这一点。
猜你喜欢
  • 2018-08-19
  • 2018-09-11
  • 1970-01-01
  • 1970-01-01
  • 2018-02-19
  • 2022-10-02
  • 1970-01-01
  • 2022-11-24
  • 1970-01-01
相关资源
最近更新 更多