ArticleController.php 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3. use App\Model\Article;
  4. use App\Model\Column;
  5. use Illuminate\Support\Facades\DB;
  6. use App\Http\Controllers\Controller;
  7. use Illuminate\Http\Request;
  8. use Carbon\Carbon;
  9. class ArticleController extends Controller
  10. {
  11. /**
  12. * Display a listing of the resource.
  13. *
  14. * @return \Illuminate\Http\Response
  15. */
  16. public function index()
  17. {
  18. $table=new Article();
  19. $data=$table->show();
  20. // dd($data);
  21. foreach ($data as $k=>$v){
  22. $d=DB::table('columns')->where('id','=',$v->colid)->select('name')->get();
  23. // $d=$d->toArray();
  24. $data[$k]['colname']=$d[0]->name;
  25. }
  26. // dd($data->toArray());
  27. // $data=DB::table('articles')->select()->get();
  28. return view('admin.article.index',compact('data'));
  29. }
  30. /**
  31. * Show the form for creating a new resource.
  32. *
  33. * @return \Illuminate\Http\Response
  34. */
  35. public function create()
  36. {
  37. //
  38. }
  39. /**
  40. * Store a newly created resource in storage.
  41. *
  42. * @param \Illuminate\Http\Request $request
  43. * @return \Illuminate\Http\Response
  44. */
  45. public function store(Request $request)
  46. {
  47. //
  48. }
  49. /**
  50. * Display the specified resource.
  51. *
  52. * @param \App\Article $article
  53. * @return \Illuminate\Http\Response
  54. */
  55. public function show(Request $request)
  56. {
  57. $table=new Article();
  58. $re=$table->show($request->id);
  59. $data=$re->toArray();
  60. // $re=$article->show();
  61. // dd($re);
  62. return view('admin.article.show',compact('data'));
  63. }
  64. public function addshow(Request $request)
  65. {
  66. $table=new Article();
  67. $data=$table->show(1);
  68. return view('admin.article.add',compact('data'));
  69. }
  70. /**
  71. * Show the form for editing the specified resource.
  72. *
  73. * @param \App\Article $article
  74. * @return \Illuminate\Http\Response
  75. */
  76. public function edit(Request $request,Article $articles)
  77. {
  78. $table=new Article();
  79. $data=$request->except('_token');
  80. $re=$table->updates($data['id'],$data);
  81. if (!empty($re)){
  82. // return dd($request->all());
  83. return response()->json(['msg'=>'修改成功']);
  84. }else{
  85. return response()->json(['msg'=>'请求错误,请重新发送']);
  86. }
  87. }
  88. public function editshow(Request $request){
  89. $table=new Article();
  90. $re=$table->show($request->id);
  91. $data=$re->toArray();
  92. return view('admin.article.edit',compact('data'));
  93. }
  94. /**
  95. * Update the specified resource in storage.
  96. *
  97. * @param \Illuminate\Http\Request $request
  98. * @param \App\Article $article
  99. * @return \Illuminate\Http\Response
  100. */
  101. public function update(Request $request, Article $article)
  102. {
  103. }
  104. /**
  105. * Remove the specified resource from storage.
  106. *
  107. * @param \App\Article $article
  108. * @return \Illuminate\Http\Response
  109. */
  110. public function destroy(Request $request)
  111. {
  112. $table =new Article();
  113. $re=$table->del($request->id);
  114. if ($re){
  115. return response()->json(['msg'=>'删除成功','status'=>0]);
  116. }else{
  117. return response()->json(['msg'=>'请求出错','status'=>1]);
  118. }
  119. }
  120. public function showsel(Request $request){
  121. $re=$this->tree();
  122. $re=json_encode($re);
  123. // dd($re);
  124. return $re;
  125. }
  126. public function add(Request $request){
  127. $table=new Article();
  128. $data=$request->except('_token');
  129. $re=$table->inserts($data);
  130. if ($re){
  131. return response()->json(['msg'=>'添加成功','status'=>0]);
  132. }else{
  133. return response()->json(['msg'=>'请求出错','status'=>1]);
  134. }
  135. }
  136. public function tree($parentid=0)
  137. {
  138. $rows = Column::where('parentid','=', $parentid)->orderBy('order','ASC')->select('name','id')->get();
  139. $arr = [];
  140. if (sizeof($rows) != 0){
  141. foreach ($rows as $key => $val){
  142. $val['open']='true';
  143. $val['children'] = $this->tree($val['id']);
  144. $arr[] = $val->toArray();
  145. }
  146. return $arr;
  147. }
  148. return ;
  149. }
  150. public function tree2($parentid=0,$columnid=1)
  151. {
  152. $rows = Column::where([['parentid','=', $parentid],['columnid','=',$columnid]])->orderBy('order','ASC')->get();
  153. $arr = [];
  154. if (sizeof($rows) != 0){
  155. foreach ($rows as $key => $val){
  156. $a=DB::table('articles')->where('colid','=',$val['id'])->get();
  157. $val['article']=$a->toArray();
  158. $val['children'] = $this->tree2($val['id']);
  159. $arr[] = $val->toArray();
  160. }
  161. return $arr;
  162. }
  163. return [];
  164. }
  165. public function showeach(){
  166. $data=$this->tree2();
  167. return view('admin.test.test3',compact('data'));
  168. }
  169. public function showroute($name){
  170. $data=DB::table('columns')->where([['keys','=',$name],['status','=','0']])->select('id','type')->get();
  171. $data=$data->toArray();
  172. // dd($data);
  173. $re=DB::table('articles')->where([['colid','=',$data[0]->id],['status','=','0']])->get();
  174. return view('admin.test.detail',compact('re','data'));
  175. }
  176. public function coldemo(){
  177. // $data=DB::table('columns')->where([['parentid','=','0'],['columnid','=','1']])->get();
  178. // $data=$data->toArray();
  179. // foreach ($data as $k=>$v){
  180. // $re=DB::table('articles')->where('colid','=',$v->id)->get();
  181. // if ($re){
  182. // $re=$re->toArray();
  183. // $data[$k]->article=$re;
  184. // }
  185. // }
  186. $data=$this->tree2();
  187. // $data=$this->haha($data);
  188. $data=array_column($data, 'children');
  189. echo array_sum($data);
  190. dd($data);
  191. return view('admin.test.demo',compact('data'));
  192. }
  193. public function haha($data){
  194. // $d=$data;
  195. $arr=[];
  196. foreach ($data as $k=>$v){
  197. if ($v['children']){
  198. $this->haha($v['children']);
  199. }
  200. if ($v['article']){
  201. foreach ($v['article'] as $key=>$value){
  202. // $arr[$key][]=[];
  203. $arr[]=$value->title;
  204. }
  205. return $arr;
  206. }
  207. }
  208. return;
  209. }
  210. public function ardemo($id){
  211. $re=DB::table('articles')->where('id','=',$id)->get();
  212. // dd($re);
  213. return view('admin.test.demo1',compact('re'));
  214. }
  215. public function showlist($id){
  216. $re=DB::table('articles')->where([['id','=',$id],['status','=','0']])->get();
  217. return view('admin.test.list-detail',compact('re'));
  218. }
  219. }