Php 雄辩的查询问题:ParseError语法错误,意外的“$data”(T_变量),预期的“')”

Php 雄辩的查询问题:ParseError语法错误,意外的“$data”(T_变量),预期的“')”,php,laravel,eloquent,Php,Laravel,Eloquent,Laravel中控制器内部的一种方法 公共函数getValue { $dataA[]=TableA::all'name'; $dataB[]=TableB::所有“问题”; 对于$i=0;$i名称 ->从$dataA[$i]->name中选择Select* ->其中$dataB[$i]->问题“!=”为空 ->得到; } } 得到 有人能帮忙解决这个问题吗 谢谢。您需要调整选择,请尝试使用selectRaw并添加变量,如下所示: public function getValue() {

Laravel中控制器内部的一种方法

公共函数getValue { $dataA[]=TableA::all'name'; $dataB[]=TableB::所有“问题”; 对于$i=0;$i名称 ->从$dataA[$i]->name中选择Select* ->其中$dataB[$i]->问题“!=”为空 ->得到; } } 得到

有人能帮忙解决这个问题吗


谢谢。

您需要调整选择,请尝试使用selectRaw并添加变量,如下所示:

public function getValue()
    {
     $dataA[]=TableA::all('name');
     $dataB[] =TableB::all('question');
     for( $i =0 ;$i <= count($dataA); $i++ )
     {
       $data = DB::table($dataA[$i]->name)
        ->selectRaw('SELECT * from ?', [$dataA[$i]->name])
        ->where($dataB[$i]->question, '!=', null)
        ->get();
}}

我不是专家,但我认为这个问题必须用引号。查看文档中的示例:将SELECT更改为selectRaw。现在,错误的语法错误,意外!=T_常量_封装的_字符串,应为'occurrent in where$dataB[$i]->question'!='null。请参阅更新的代码,在这一行中添加逗号->where$dataB[$i]->问题“!=”,无效的
public function getValue()
    {
     $dataA[]=TableA::all('name');
     $dataB[] =TableB::all('question');
     for( $i =0 ;$i <= count($dataA); $i++ )
     {
       $data = DB::table($dataA[$i]->name)
        ->selectRaw('SELECT * from ?', [$dataA[$i]->name])
        ->where($dataB[$i]->question, '!=', null)
        ->get();
}}