php - 在 Laravel 中使用不同的控制器获取同一行
问题描述
我有 MapController 和 PagesController。从 DB 获取地址行到 MapController 并将其传递给 home.view 所以在谷歌地图中使用它。但也在 PagesController 中,我也在获取所有行,包括地址行。并在同一个视图上传递它。但是当我这样做的时候。弹出未定义的 var 错误。
这是控制器和视图。
页面控制器
public function search(Request $request)
{
$q = $request->q;
$estates = \DB::table('allestates')
->where("building_name", "LIKE", "%" . $q . "%")
->orWhere("address", "LIKE", "%" . $q . "%")
->orWhere("company_name", "LIKE", "%" . $q . "%")
->orWhere("region", "LIKE", "%" . $q . "%")
->orderBy('price')->paginate(5);
return view("home", compact('estates', 'q'));
}
并查看
@foreach($estates as $estate)
<div class="row" id="main-wrapper">
<div class="col-sm">
<img src=" https://dummyimage.com/150x150/000/fff" alt="" class="img-radius">
</div>
<div class="col-6">
<h3>{{$estate->building_name}}</h3>
<p>
<br>
{{str_limit($estate->address, $limit = 80)}}
<br>
{{ $estate->price }}
<br>
{{ $estate->rooms }}
<br>
{{ $estate->extend }}
<br>
</p>
</div>
<div class="col-sm">
<button class="detail-btn">物件概要</button>
</div>
<hr style="width: 100%; margin:10px; border-color: #34495e;">
</div>
@endforeach
地图控制器
$adres = DB::table("allestates")
->get();
return view("home", compact('adres'));
看法
function initMap(){
var options = {
zoom:8,
center:
'{!! $adres[0]->address !!}'
}
var map = new google.maps.Map(document.getElementById("map"), options);
var marker = new google.maps.Marker({
position:
@foreach($adres as $addr)
'{!! $addr->address !!}',
@endforeach
map:map
});
var infoWindow = new google.maps.InfoWindow({
content:'content here'
});
marker.addListener('click', function () {
infoWindow.open(map, marker);
})
}
顺便说一句,在我放入 PagesController 之前没有错误。我怎样才能做到这一点?向我显示 MapController 的错误?
未定义变量:adres(查看:/var/www/html/laravel/resources/views/layouts/app.blade.php)(查看:/var/www/html/laravel/resources/views/layouts/app.blade. php)
解决方案
感谢您回答我,但我几乎没有接触就解决了这个问题。只是在两个控制器中给出了相同的 $var 。
推荐阅读
- django - Django Rest Framework:嵌套序列化程序不起作用
- ansible - ansible regex_replace IP 更改
- c++ - 为什么 c++ 文件不能在 Visual Studio 中运行
- python - php斑马上的套接字错误连接9100
- excel - 如何在excel中的另一个表中多个两个表值?
- typescript - “TextInput”类型上不存在属性“模糊”
- bash - Bash:“For-in”循环中有超过 1 个变量?
- python - Elastic Beanstalk: /bin/sh: /opt/python/run/venv/bin/activate: 没有这样的文件或目录
- python - 如何从python中的字节获取位范围?
- kubernetes - 大使吊舱因错误“消息”而崩溃:“命名空间\“默认\”被禁止